我正在使用 linq to sql 的 Visual Basic 2008 Express Edition 进行我的数据库操作,例如编辑记录。我没有使用任何 sql server,但我只是使用了 visual basic 2008 express 中的内置 sql server。我试图修改代码,语法没有错误,但运行时出现错误,它会弹出一个窗口消息,说明它的错误消息。我想要的是将从数据库中检索到的记录编辑到文本框中,当您单击按钮 5 时,文本框中的新值应替换前一个值。Account字段是 memrec.dbml 中 Table1 中的字段,我为主键设置为 true,其余字段在其主键中为 false。当你运行程序时,下面的代码仍然发现一个错误,它会弹出一个窗口,上面写着:
NotSupportedException 未处理- Sql server 不处理 NText、Text、Xml 或 Image 数据类型的比较。
它突出显示该行的黄色背景:
db.SubmitChanges()
这些是我在 memrec.dbml 属性窗口中 Table1 上每个字段的属性上看到的:
Access - Public
Type - String(System.String)
Server Data Type - Text
Auto-Generated Value - False
Auto-Sync - Never
Delay Loaded - False
Nullable - True
Read Only - False
Time Stamp - False
Update Check - Never
Primary Key - False ' Except for the Account field.
您认为可能的错误是什么?
是在它的设置方面吗?
这是我的代码:
Private Sub Button5_Click(------------------) Handles Button5.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or _
TextBox4.Text = "" Then
MsgBox("Please Fill It Up Completely", MsgBoxStyle.Exclamation)
Exit Sub
Else
Dim accnt As String
accnt = TextBox1.Text
Dim db As New memrecDataContext()
Dim editrecord = _
From memrec In db.Table1s _
Where memrec.Account.Contains(accnt) _
Select memrec
For Each memrec In editrecord
If memrec.Account = accnt Then
memrec.Account = TextBox1.Text
memrec.Name = TextBox2.Text
memrec.Address = TextBox3.Text
memrec.Gender = TextBox4.Text
db.SubmitChanges()
Exit Sub
End If
Exit For
Next
MsgBox("No Records Match", MsgBoxStyle.Information)
End If
End Sub
感谢您花时间和我一起解决这个问题......