update employee set fname=“ Paolo''''f“ where emp_id='PMA42628M' update employee set fname=“ Paolo''f“ where emp_id='PMA42628M'
---- 程序如下: ---- 首先把前面的函數加入。
---- 在窗體的通用中聲明如下變量:
Dim cnn1 As ADODB.Connection '連接 Dim mycommand As ADODB.Command '命令 Dim rstByQuery As ADODB.Recordset '結果集 Dim strCnn As String '連接字符串 Private Sub Form_Load() Set cnn1 = New ADODB.Connection '生成一個連接 strCnn = “driver={SQL Server};“ _ “server=ZYX_pc;uid=sa;pwd=PCDC;database=pubs“ ' 沒有系統數據源使用連接字符串
'strCnn = “DSN=mydsn;UID=sa;PWD=;“ 'DATABASE=pubs;Driver={SQL Server};SERVER=gzl_pc“ ' 如果系統數據源MYDSN指向PUBS數據庫,也可以這樣用 cnn1.Open strCnn, , , 0 '打開連接 End Sub Private Sub Command1_Click() '演示字符處理 Dim i As Integer Dim j As Integer Set parm = New ADODB.Parameter Set mycommand = New ADODB.Command
Dim str As String str = Combo1.Text str = ProcessStr (str) mycommand.ActiveConnection = cnn1 ' 指定該command 的當前活動連接 mycommand.CommandText = “ select * from employee where fname = '“ str “'“ mycommand.CommandType = adCmdText '表明command 類型 Set rstByQuery = New ADODB.Recordset Set rstByQuery = mycommand.Execute() i = 0 Do While Not rstByQuery.EOF i = i + 1 ' i 中保存記錄個數 rstByQuery.MoveNext Loop MSFlexGrid1.Rows = i + 1 '動態設置MSFlexGrid的行和列 MSFlexGrid1.Cols = rstByQuery.Fields.count + 1 MSFlexGrid1.Row = 0 For i = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = i + 1 MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name Next '設置第一行的標題,用域名填充
i = 0 'Set rstByQuery = mycommand.Execute() rstByQuery.Requery Do While Not rstByQuery.EOF i = i + 1 MSFlexGrid1.Row = i '確定行 For j = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = j + 1 MSFlexGrid1.Text = rstByQuery(j) '添充所有的列 Next rstByQuery.MoveNext
Loop '這個循環用來填充MSFlexGrid的內容 End Sub Private Sub Command2_Click()'參數方法 Dim i As Integer Dim j As Integer
Set parm = New ADODB.Parameter Set mycommand = New ADODB.Command
' parm_jobid.Name = “name1“ this line can be ommited parm.Type = adChar '參數類型 parm.Size = 10 '參數長度 parm.Direction = adParamInput '參數方向,輸入或輸出 parm.Value = Combo1.Text '參數的值 mycommand.Parameters.Append parm '加入參數 mycommand.ActiveConnection = cnn1 ' 指定該command 的當前活動連接 mycommand.CommandText = “ select * from employee where fname =? “ mycommand.CommandType = adCmdText '表明command 類型 Set rstByQuery = New ADODB.Recordset Set rstByQuery = mycommand.Execute() i = 0 Do While Not rstByQuery.EOF i = i + 1 ' i 中保存記錄個數 rstByQuery.MoveNext Loop MSFlexGrid1.Rows = i + 1 '動態設置MSFlexGrid的行和列 MSFlexGrid1.Cols = rstByQuery.Fields.count + 1 MSFlexGrid1.Row = 0 For i = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = i + 1 MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name Next '設置第一行的標題,用域名填充
i = 0 rstByQuery.Requery Do While Not rstByQuery.EOF i = i + 1 MSFlexGrid1.Row = i '確定行 For j = 0 To rstByQuery.Fields.count - 1 MSFlexGrid1.Col = j + 1 MSFlexGrid1.Text = rstByQuery(j) '添充所有的列 Next rstByQuery.MoveNext
Loop '這個循環用來填充MSFlexGrid的內容 End Sub
---- 查詢部分可以用存儲過程以提高處理效率,減低網絡流量。 ---- 本程序在NT WORKSTATION 4.0 SP4、SQL SERVER 7.0 上調試通過