Wpf SQL CE Insert语句与Vb.net
我用vb.net和sql CE 3.5在wpf中编写了以下代码,我的操作系统是win7 64位。视觉工作室是2010年。我导入了以下内容:Wpf SQL CE Insert语句与Vb.net,wpf,vb.net,sql-server-ce,Wpf,Vb.net,Sql Server Ce,我用vb.net和sql CE 3.5在wpf中编写了以下代码,我的操作系统是win7 64位。视觉工作室是2010年。我导入了以下内容: Imports System.ComponentModel Imports System.Data.SqlServerCe Imports System.Data 守则的主要部分是: Dim Con As SqlCeConnection = New SqlCeConnection(DataSource) Di
Imports System.ComponentModel
Imports System.Data.SqlServerCe
Imports System.Data
守则的主要部分是:
Dim Con As SqlCeConnection = New SqlCeConnection(DataSource)
Dim Cmd As SqlCeCommand
If Con.State = ConnectionState.Closed Then Con.Open()
'Inserting Prime Details
Try
Cmd = New SqlCeCommand("INSERT INTO [ContactPrime]([ID],[Namee],[Company],[JobTitle],[Number],[Address],[Typee] VALUES (@ID,@Namee,@Company,@JobTitle,@Number,@Address,@Typee)", Con)
With InsertObject.Prime
Cmd.Parameters.Add(New SqlCeParameter("@ID", SqlDbType.NVarChar)).Value = .ID
Cmd.Parameters.Add(New SqlCeParameter("@Namee", SqlDbType.NVarChar)).Value = .Namee
Cmd.Parameters.Add(New SqlCeParameter("@Company", SqlDbType.NVarChar)).Value = .Company
Cmd.Parameters.Add(New SqlCeParameter("@JobTitle", SqlDbType.NVarChar)).Value = .JobTitle
Cmd.Parameters.Add(New SqlCeParameter("@Number", SqlDbType.NVarChar)).Value = .Number
Cmd.Parameters.Add(New SqlCeParameter("@Address", SqlDbType.NVarChar)).Value = .Address
Cmd.Parameters.Add(New SqlCeParameter("@Typee", SqlDbType.NVarChar)).Value = .Typee
End With
Cmd.ExecuteNonQuery()
Catch ex As Exception
End Try
'Inserting Numbers of Contact
Try
For Each num In InsertObject.Numbers
Cmd = New SqlCeCommand("INSERT INTO [ContactNumbers]([ContactID],[ID],[Title],[Mobile],[Land],[Fax],[Email],[IsPrimary] VALUES (@ContactID,@ID,@Title,@Mobile,@Land,@Fax,@Email,@IsPrimary)", Con)
With num
Cmd.Parameters.Add(New SqlCeParameter("@ContactID", SqlDbType.NVarChar)).Value = .ContactID
Cmd.Parameters.Add(New SqlCeParameter("@ID", SqlDbType.NVarChar)).Value = .ID
Cmd.Parameters.Add(New SqlCeParameter("@Title", SqlDbType.NVarChar)).Value = .Title
Cmd.Parameters.Add(New SqlCeParameter("@Mobile", SqlDbType.NVarChar)).Value = .Mobile
Cmd.Parameters.Add(New SqlCeParameter("@Land", SqlDbType.NVarChar)).Value = .Land
Cmd.Parameters.Add(New SqlCeParameter("@Fax", SqlDbType.NVarChar)).Value = .Fax
Cmd.Parameters.Add(New SqlCeParameter("@Email", SqlDbType.NVarChar)).Value = .Email
Cmd.Parameters.Add(New SqlCeParameter("@IsPrimary", SqlDbType.Bit)).Value = .IsPrimary
End With
Cmd.ExecuteNonQuery()
Next
Catch ex As Exception
End Try
我得到的错误是:
A first chance exception of type 'System.Data.SqlServerCe.SqlCeException' occurred in System.Data.SqlServerCe.dll
你能告诉我哪里做错了吗。连接工作得很好,我用select语句进行了测试,它工作了,似乎我的insert语句是错误的
提前感谢您。看来,您并没有在值开始之前关闭括号
"INSERT INTO [ContactNumbers]([ContactID],[ID],[Title],[Mobile],[Land],
[Fax],[Email],[IsPrimary]
VALUES (@ContactID,@ID,@Title,@Mobile,@Land,@Fax,@Email,@IsPrimary)
上述语句中缺少结束括号,因此更正后的查询如下:
"INSERT INTO [ContactNumbers]([ContactID],[ID],[Title],[Mobile],[Land],
[Fax],[Email],[IsPrimary])
VALUES (@ContactID,@ID,@Title,@Mobile,@Land,@Fax,@Email,@IsPrimary)
同样,同样的事情也发生在第二次
INSERT
query中….Hahaha,谢谢你的帮助,看来我需要尽快去看眼科医生。