正文

[日记+技术]VB+SQL一个调了一个小时才发现的错误2006-06-04 22:15:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/15435.html

分享到:

              今天下午一觉睡到5点才起来,就马上开始做项目,简单的说就是在三层模式中解决将图片存储到SQL里和从SQL里调出该图片,这个问题积累了几天了一直没去解决。。

               想了N久,改了N多,调了N久,总算全部写出来,自认为写对了,结果一运行,选好用户图片,然后添加,晕。。。。  提示错误。。。 后来调了N久才发现这里错了:

注:User.U_Image 是获得图片的二进制代码。。

'* Function Name: AddUser
'* Option Desc: 增加一个用户
Public Function AddUser(ByRef User As clsItemUser) As Boolean
On Error GoTo AddErr
   
    Dim strSQL As String
    strSQL = "Insert Into T14_CS_User Values( " & User.U_Id & ",'" & User.U_Name & "','" & User.U_Pwd & _
             "','" & User.U_Sex & "'," & User.U_Age & ",'" & User.U_Duty & "','" & User.U_Tel & "','" & _
             User.U_Address & "','" & User.U_Image & "','" & User.U_ImageName & "')"

    conConnection.Execute (strSQL)

    AddUser = True
    Exit Function

AddErr:
    MsgBox Err.Number & Err.Description
    Err.Clear
    AddUser = False

End Function

本来以为是User.U_Image存的二进制代码错了,一直调式这个,N久后也没调对,后来干脆就把我以前写的一个将图片存储到SQL里的例子拿出来对照了一下。 马上就发现哪里错了,一改,在运行. OK.。 添加成功。  改成如下:

'* Function Name: AddUser
'* Option Desc: 增加一个用户
Public Function AddUser(ByRef User As clsItemUser) As Boolean
On Error GoTo AddErr
   
    Dim rcUser As ADODB.Recordset
   
    Set rcUser = New ADODB.Recordset
   
    rcUser.Open "Select * From T14_CS_User", conConnection, adOpenStatic, adLockOptimistic, -1
   
    rcUser.AddNew
    rcUser.Fields("U_Id").Value = User.U_Id
    rcUser.Fields("U_Name").Value = User.U_Name
    rcUser.Fields("U_Pwd").Value = User.U_Pwd
    rcUser.Fields("U_Sex").Value = User.U_Sex
    rcUser.Fields("U_Age").Value = User.U_Age
    rcUser.Fields("U_Duty").Value = User.U_Duty
    rcUser.Fields("U_Tel").Value = User.U_Tel
    rcUser.Fields("U_Address").Value = User.U_Address
    rcUser.Fields("U_Image").Value = User.U_Image
    rcUser.Fields("U_ImageName").Value = User.U_ImageName
   
    rcUser.Update

    AddUser = True
    Exit Function

AddErr:
    MsgBox Err.Number & Err.Description
    Err.Clear
    AddUser = False

End Function

错误:既strSQL执行添加的SQL语句里不能包含User.U_Image二进制代码。如果要添加User.U_Image二进制代码只能要记录集来添加。

希望你不要在犯同样的错误。。 55555555

阅读(3200) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册