使用OleDbDataAdapter更新Access

使用OleDbDataAdapter更新Accesstry{MdbDALdal=newMdbDAL();DataTabledt=(DataTable)gv.DataSource;IDbCommandcmd=dal.NewDbCommand(string.Format(“UPDATE{0}SET[Msg]=@Msg,[MsgChs]=@MsgChs,[MsgCht]=@MsgChtWH…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

try

{

    MdbDAL dal 

=
 
new
 MdbDAL();
    DataTable dt 

=
 (DataTable)gv.DataSource;
    IDbCommand cmd 

=
 dal.NewDbCommand(
string
.Format(
“
UPDATE {0} SET [Msg]=@Msg, [MsgChs]=@MsgChs, [MsgCht]=@MsgCht WHERE Id=@Id
“
, table));
    OleDbParameter p 

=
 
new
 OleDbParameter(
“
@Msg
“
, OleDbType.LongVarChar);
    p.SourceColumn 

=
 
“
Msg
“
;
    cmd.Parameters.Add(p);

    p 
=
 
new
 OleDbParameter(
“
@MsgChs
“
, OleDbType.LongVarChar);
    p.SourceColumn 

=
 
“
MsgChs
“
;
    cmd.Parameters.Add(p);

    p 
=
 
new
 OleDbParameter(
“
@MsgCht
“
, OleDbType.LongVarChar);
    p.SourceColumn 

=
 
“
MsgCht
“
;
    cmd.Parameters.Add(p);

    p 
=
 
new
 OleDbParameter(
“
@Id
“
, OleDbType.BigInt);
    p.SourceColumn 

=
 
“
Id
“
;
    cmd.Parameters.Add(p);
    
    dal.Update(dt, cmd);
    MessageBox.Show(

“
保存成功!
“
, 
“
提示
“
, MessageBoxButtons.OK, MessageBoxIcon.Information);
}

catch
 (Exception ex)
{

    MessageBox.Show(ex.Message, 

“
错误
“
, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

在更新的过程中可能出现如下错误:

Data Type mismatch in criteria expression.

Concurrency violation: the UpdateCommand affected 0 of the expected 1 records

注意:数据类型要正确、SQL中的参数要和加入command中的参数的顺序一致。


访问类型名称  数据库数据类型  OLE DB 类型  .NET Framework 类型  成员名称 文本 VarWChar  DBTYPE _ WSTR System.String  OleDbType.VarWChar 备注 LongVarWCha r DBTYPE _ WSTR System.String  OleDbType.LongVarWChar 编号: 字节 UnsignedTinyInt  DBTYPE _ UI 1 System.Byte  OleDbType.UnsignedTinyInt 是 / 否 Boolean 类型的值  DBTYPE_BOOL System.Boolean  OleDbType.Boolean 日期 / 时间 日期时间  DBTYPE_DATE System.DateTime  OleDbType.Date 货币 小数  DBTYPE_NUMERIC System.Decimal  OleDbType.Numeric 编号: 十进制 小数  DBTYPE_NUMERIC System.Decimal  OleDbType.Numeric 编号: Double 类型的值 双击  DBTYPE_R8 System.Double  OleDbType.Double 自动编号 (复制 ID) GUID  DBTYPE_GUID System.Guid  OleDbType.Guid 号码: (复制 ID) GUID  DBTYPE_GUID System.Guid  OleDbType.Guid 自动编号 (长整型) 整数  DBTYPE_I4 System.Int 32  OleDbType.Integer 号码: (长整型) 整数  DBTYPE_I4 System.Int 32  OleDbType.Integer OLE 对象 LongVarBinary  DBTYPE_BYTES System.Byte 数组 OleDbType.LongVarBinary 编号: Single 类型的值 单个  DBTYPE_R4 System.Single  OleDbType.Single 编号: Integer 类型的值 smallint  DBTYPE_I2 System.Int 16  OleDbType.SmallInt 二进制 varbinary * DBTYPE_BYTES System.Byte 数组 OleDbType.Binary 超链接 VarWChar  DBTYPE _ WSTR System.String  OleDbType.VarWChar 

转载于:https://www.cnblogs.com/angushine/archive/2009/06/01/1494091.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226704.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 贪心算法及几个经典例子c语言_贪心算法一定是最优解吗

    贪心算法及几个经典例子c语言_贪心算法一定是最优解吗贪心算法一、基本概念:      所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。     贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前

    2022年10月21日
  • 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]

    黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]欢迎关注个人微信公众号:小哈学Java,文末分享阿里P8高级架构师吐血总结的《Java核心知识整理&面试.pdf》资源链接!!个人网站:"https://www

    2022年8月2日
  • python句柄是什么意思_python窗口句柄

    python句柄是什么意思_python窗口句柄文件句柄的实例:通过句柄定位未见读取的起始位置以及大文件的分块读取为了使用读文件函数,需要使用相对于PHP脚本的路径为他们指出要读取的文件,然而,大多数PHP的文件函数使用一种稍有区别的机制访问文件,这种机制与连接数据库的机制非常相似,该过程使用fopen()函数进行“连接”,使用fclose函数“断开连接”。fopen函数的返回值是一个PHP文件指针,也被称为文件句柄,一旦拥有了文件句柄…

    2022年8月31日
  • Mask_RCNN训练自己的数据——制作COCO格式的数据集[通俗易懂]

    Mask_RCNN训练自己的数据——制作COCO格式的数据集[通俗易懂]matterport版mask_rcnn系列:1.Mask_RCNN训练自己的数据2.目标检测:使用Open_cv在图像上批量画boundingbox3.Mask_RCNN:使用COCO权重进行特定类别预测(只标记出你需要的类别)4.Mask_RCNN:ValueError:Dimension1inbothshapes……………

    2022年10月4日
  • NFV概述_NFV技术

    NFV概述_NFV技术NFV(网络功能虚拟化)

    2022年9月9日
  • cmd查询mysql端口占用_windows cmd快速查看端口占用情况

    cmd查询mysql端口占用_windows cmd快速查看端口占用情况在调试服务或者程序的时候我们经常会通过检测对应端口是否打开来判断服务是否成功启动,本例就拿mysql的3306来实验。再看看3306端口是否已经被占用一、查看端口占用netstat-aon|findstr”3306″二、查看id对应的程序tasklist|findstr”6572″==============================C:\Users\Administrator>…

    2022年5月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号