一般情况下,如果sql语句包含有单引号,则需要进行处理后才能执行(把单个单引号替换为2个单引号),不过,可以用 ADODB的Command来做,而不必做单引号替换: '需要引用ADO(工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)) Private Sub Command1_Click() Dim cn As New ADODB.Connection, cmd As New ADODB.Command '打开数据库连接,具体的请自己改过来 cn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx" Set cmd.ActiveConnection = cn cmd.CommandText = "insert into 表(用户名,密码) values(?,?)" ' 这里的参数,用问号来表示,不能用其他符号 cmd.Parameters(0).Value = "Admin" cmd.Parameters(1).Value = "YSt`sq;U~zy*'unWUT:6(V#`c" cmd.Execute If cn.State <> adStateClosed Then cn.Close Set cmd = Nothing Set cn = Nothing End Sub
'需要引用ADO(工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号))
Private Sub Command1_Click()
Dim cn As New ADODB.Connection, cmd As New ADODB.Command
'打开数据库连接,具体的请自己改过来
cn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx"
Set cmd.ActiveConnection = cn cmd.CommandText = "insert into 表(用户名,密码) values(?,?)" ' 这里的参数,用问号来表示,不能用其他符号
cmd.Parameters(0).Value = "Admin"
cmd.Parameters(1).Value = "YSt`sq;U~zy*'unWUT:6(V#`c"
cmd.Execute
If cn.State <> adStateClosed Then cn.Close
Set cmd = Nothing
Set cn = Nothing
End Sub