首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

为什么倒不进SQL?解决方案

2012-01-31 
为什么倒不进SQL?这个程序主要是读注册表软件的信息,然后一条一条导入到SQL SERVER里面去.可是发现SQL里一

为什么倒不进SQL?
这个程序主要是读注册表软件的信息,然后一条一条导入到SQL SERVER里面去.可是发现SQL里一点反应都没有.
以下是一些代码;明天就要交差了,高手帮忙看看啊!
Private Sub Form_Load()
  Dim strRgtInfo() As String
  strRgtInfo = fnc_GetSubKeys(HKEY_LOCAL_MACHINE, KEYPATH)
   
  Text1.Text = Winsock1.LocalHostName
   
  Dim i As Integer
  Dim strSQL As String
  For i = 0 To UBound(strRgtInfo) Step 1
  List1.AddItem (strRgtInfo(i))
   
  strSQL = "insert into TESTTABLE values(" & vbCr
  strSQL = strSQL & "'" & Text1.Text & "'," & vbCr
  strSQL = strSQL & i & "," & vbCr
  strSQL = strSQL & "'" & strRgtInfo(i) & "'" & vbCr
  strSQL = strSQL & ")"
   
  Call basSqlDataAccess.fnc_ExcuteSQL(strSQL)
  Next i
End Sub

Private Sub List1_Click()

End Sub

Public Function fnc_ExcuteSQL(ByVal strSQL As String) As Boolean
  fnc_ExcuteSQL = False
On Error GoTo ERR_LTN
  Dim cn As ADODB.Connection
  Set cn = New ADODB.Connection
  cn.CommandTimeout = 5
  cn.Open "Driver={SQL Server};Server=a;DataBase=TEST", "sa", ""
  cn.BeginTrans
  cn.Execute (strSQL)
  If True Then
  cn.CommitTrans
  fnc_ExcuteSQL = True
  Else
  cn.RollbackTrans
  End If
  cn.Close
   
ERR_LTN:
  Exit Function
End Function


[解决办法]
代码里面肯定报错了,但是你用了On Error Goto语句,出错就直接退出函数了,把你的On Error Goto语句拿掉,然后自己调试看看。
[解决办法]
Public Function fnc_ExcuteSQL(ByVal strSQL As String) As Boolean 
fnc_ExcuteSQL = False 
On Error GoTo ERR_LTN 
Dim cn As ADODB.Connection 
Set cn = New ADODB.Connection 
cn.CommandTimeout = 5 
cn.Open "Driver={SQL Server};Server=a;DataBase=TEST ", "sa ", " " 
cn.BeginTrans 
cn.Execute (strSQL) 
If True Then 
cn.CommitTrans 
fnc_ExcuteSQL = True 
Else 
cn.RollbackTrans 
End If 
cn.Close 

ERR_LTN: 
Exit Function 
End Function 
检查这里面的代码.
[解决办法]
同意CloneCenter的意见,先看看是什么错误再说

[解决办法]
先检查一下INSERT的SQL语句最后生成的格式是否正确,还要注意TESTTABLE这个表的ID主键是否有设好增量标识。

热点排行