正常字符串加密后结果如下,如何将他保存到数据库中(Insert/Update)YSt`sq;U~zy*'unWUT:6(V#`c

解决方案 »

  1.   

    把'替换为''就可以放在SQL语句中,SQL语句中两个单引号表示一个
    用Replace
      

  2.   

    SQL语句中两个单引号表示一个,是为了与字符串界定符区别
    存入数据库的实际还是一个单引号
      

  3.   

    可以用 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 = "update 表 values(?)"
        cmd.Parameters(0).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
      

  4.   

    上面的update语句写错了,应该这样写: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 = "update 表 set 密码=? where 用户名=?"  ' 这里的参数,用问号来表示,不能用其他符号
        cmd.Parameters(0).Value = "YSt`sq;U~zy*'unWUT:6(V#`c"
        cmd.Parameters(1).Value = "Admin"     cmd.Execute
        If cn.State <> adStateClosed Then cn.Close
        Set cmd = Nothing
        Set cn = Nothing
    End Sub