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 上调试通过