你整段代码加上try catch试试。
解决方案 »
- 求教 C# 字符串截取 并输出
- gridview里的某行某列怎么表示
- DataGrid字段的拖拉动作
- 请教我的编译器是vs.net2005,装framework3会不会出现问题
- 请教:事件执行的原理
- Visual Studio.net中打开项目却无法显示编辑窗口?
- 在另一个窗体中关闭另一个窗体
- winform webBrowser中直接打开WORD文件
- C#笔试题,高分求教,求好心人帮忙!!!!
- 我用sqldataAdapter查询出两个表并fill()到一个dataset中,但是update只可以更新第一个表,怎么回事?
- 寻找C#开发IE内核浏览器相关资料
- WPF MVVM模式怎么给主窗体传值
拼接语句大多也是使用循环拼接与字符串处理方式完成一条或多条语句,也不是什么难事;
拼接的插入,更新,删除语句各为一个函数,调用也是很容易的事;
与其浪费精力和时间在不可能的事上,不如趁早写代码去更明智.
当时工程引用DLL
https://blog.csdn.net/xianfajushi/article/details/8578495
以上或许能参考一下.
不过我这里要说的是2个自己写的函数 Sub AccEss数据库增删改(ByVal 数据源 As String, ByVal 语句 As List(Of String))
Dim 数 = 0
Dim 连接 As New OleDb.OleDbConnection(数据源)
连接.Open()
For Each 执行 As String In 语句
Dim 操作 = New OleDb.OleDbCommand(执行, 连接)
数 += 操作.ExecuteNonQuery()
Next
连接.Close()
MessageBox.Show("数据保存成功!受影响数" + 数.ToString("〖00000〗"), "友情提醒", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
End Sub还有一个可以写为更新函数,是用循环拼接的字符串,写好了拼接函数对于任意表任意字段都是适用的. Dim 执行 As New List(Of String)
Dim 语句 As String = "UPDATE 测试表 SET "
Dim xu = 0
For Each 列 As DataColumn In ds.Tables(0).Columns'循环表列与行的列完成拼接语句
语句 += 列.ColumnName + " = '" + ds.Tables(0).Rows(0)(xu) + "' ,"
xu += 1
Next
语句 = 语句.TrimEnd(",") + "WHERE ID = '" + ds.Tables(0).Rows(0)(0) + "'"
执行.Add(语句)
AccEss数据库增删改(cnStr, 执行)'执行这个语句更新成功,也可以查看文件夹中数据库修改时间看到其实VB.NET语句和C#语句其实看起来差不了多少,一般写程序希望写好一个函数能适用的范围很广,上面的2个函数就是这样,第1个适合增删改的功能,只要使用不同的语句就能达到目的.
第2个可以写为一个更新的拼接语句函数,无论表的字段有多少都可以,
只要写好了这样的函数,那么,无论什么数据表都可以调用就达到目的了,而且也很简洁.
实践证明用语句创建的数据库和表不适用自协调更新,而手动创建的数据库和表就可以,
其中奥妙未去探索,有兴趣的话自己去探秘究微.