用dataset保存数据注意的问题
Private Function Save() As Boolean
Try
Dim dschgs As DataSet = ds.GetChanges(DataRowState.Added + DataRowState.Deleted + DataRowState.Modified)
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("select lotno,isconfirm, confirmuser, confirmdate, eventuser, eventdate from cuttoship", oracleConn)
Dim cmbCDDetail As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da)
da.Update(dschgs, "cuttoship")
ds.AcceptChanges()
Return True
Catch ex As Exception
Return False
End Try
End Function
Private Sub btnUnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnConfirm.Click
Dim confirmTb As DataTable = gGrid.getCurrData(dgv)
Dim r_confirm() As DataRow = confirmTb.Select("s_select='True' and isconfirm='Y'")
If r_confirm.Length = Then
MessageBox.Show("no seleted data.")
Return
End If
If MessageBox.Show("Do you want to confirm these record?", "Confirm Sure", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.No Then Return Try
Dim sql As String = ""
Dim time As String = Now.ToString("yyyy-MM-dd HH:mm:ss")
Dim row() As DataRow
For Each r As DataRow In r_confirm
row = ds.Tables("cuttoship").Select("lotno='" + r.Item("lotno") + "'")
row().BeginEdit()
row().Item("isconfirm") = "N"
row().Item("confirmuser") = DBNull.Value
row().Item("confirmdate") = DBNull.Value
row().Item("eventuser") = g.gUserId
row().Item("eventdate") = time
row().EndEdit()
Next
If Save() Then
MessageBox.Show("Confirm successfully!")
Else
MessageBox.Show("Confirm failed!")
ds.RejectChanges()
End If
Catch ex As Exception
MessageBox.Show("Un Confirm failed!")
ds.RejectChanges()
End Try
End Sub
用dataset保存数据不能存在空的数据,必须用DBNull.Value代替,否则出现“并行违规”的异常。
目标表必须有主键,否则出现“对于不返回任何键列信息的SelectCommand,不支持UpdateCommand 的动态SQL生成”的异常。
用dataset保存数据注意的问题的更多相关文章
- 利用DataSet更改数据,将更改保存到数据库中
RowState 是 DataRow 很重要的一个属性, 表示 DataRow 当前的状态. RowState 有 Added, Modified, Unchanged, Deleted, Detac ...
- WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据
数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...
- Redis学习——Redis持久化之AOF备份方式保存数据
新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...
- DataGrid通过DataSet保存为xml文件,并导入
做了个小的DataGrid通过DataSet保存为xml_测试,DataGrid通过DataSet保存为xml_测试,通过dataSet.writeXML()和dataSet.readXML()方法完 ...
- EasyUI使用JSON保存数据
目前来说,使用JSON保存数据比较方便,前台可以不用Test.aspx 页面,可以直接用Html页面,使用.aspx页面的弊端就不在这里熬述. 具体步骤如下: 1.新建一个Html页面,命名为Test ...
- AC中保存数据与查询数据
//保存数据 hui.ajax(function (ret, err) { }, url, {values: {t:"test",m:"Search",c:&q ...
- SpringMVC保存数据到mysql乱码问题
SpringMVC保存数据到mysql乱码问题 乱码问题常见配置 一.web.xml配置过滤器 <filter> <filter-name>encoding-filter< ...
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
一.需求 做一个类似QQ登录似的app,将数据写到ROM文件里,并对数据进行回显. 二.截图 登录界面: 文件浏览器,查看文件的保存路径:/data/data/com.amos.datasave/fi ...
- android fragment 的用法以及与activity的交互和保存数据的方法,包括屏幕切换(转载)!
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Acti ...
随机推荐
- Samsung_tiny4412(驱动笔记09)----alloc_pages,kmalloc,vmalloc,kmem_cache,class
/*********************************************************************************** * * alloc_pages ...
- Android Mokoid Open Source Project hacking
/***************************************************************************** * Android Mokoid Open ...
- 【linux】如何退出shell终端
退出shell终端: exit + 回车即可 清除当前屏幕信息 clear 不过clear只是将之前的命令向上隐藏啦...
- 如何释放vector变量
std::vector<cv::Point> probp; std::vector<int> plabel; plabel.clear(); std::vector<in ...
- 安装wordcloud第三方库Unable to find vcvarsall.bat
前言 本来想要使用python爬一些数据的,制作词云,感觉挺好玩的,不过python安装第三方库的时候遇到了一些问题,有的问题比较好解决,有的就找了好久才知道怎么解决的,故记录下来. 环境 系统:wi ...
- js 时间操作积累
console.log( new Date() ); //Tue Mar 20 2018 22:47:01 GMT+0800 (中国标准时间) // var date = new Date( '201 ...
- 实习第二天-今年第一场雨-方法的重载(马上想到println()函数和abs(函数))
在C语言中 调用函数abs()返回一个整数的绝对值, fabs(返回一个单精度浮点型的绝对值)若要返回这些数的绝对值,则必须记住这些函数的名字 java可以用方法的重载:即是方法名必须相同,参数必须不 ...
- maven 知识点1
在POM 4中,dependency 中还引入了 scope,它主要管理依赖的部署.目前 scope 可以使用5个值: compile,缺省值,适用于所有阶段,会随着项目一起发布. provided, ...
- 百度,谷歌,360,搜狗,神马等蜘蛛IP段
https://www.imydl.com/wzjs/5971.html 记得3月份的时候明月分享过一篇[站长必备:百度.谷歌.搜狗.360等蜘蛛常见IP地址]的文章,好像一直都受到了众多站长们的关注 ...
- 使用redis防止商品超发
redis不仅仅是单纯的缓存,它还有一些特殊的功能,在一些特殊场景上很好用.redis中key的原子自增incrby和判断key不存在再写入的setnx方法,可以有效的防止超发. 下面使用两个不同的方 ...