千家信息网

如何理解net insert into语法错误

发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,本篇内容主要讲解"如何理解net insert into语法错误",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解net insert into语法错
千家信息网最后更新 2025年11月17日如何理解net insert into语法错误

本篇内容主要讲解"如何理解net insert into语法错误",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解net insert into语法错误"吧!

问题描述:
我用oledb的方式向access数据里写数据,示例源码如下:

复制代码 代码如下:

sql="select * from multitable";
oledbdataadapter olesub=new oledbdataadapter(sql,olecn);
oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);
dataset ds=new dataset();
olesub.fill(ds."multitable");
datatable dt=ds.tables["multitable"];
datarow dr=dt.newrow();
dr["prserv"]="ws"+index.tostring().padleft(6,''''0'''');
dr["number"]="00063";
dt.rows.add(dr);
olesub.update(ds,"mulittable");


这段代码编译的时候是没有问题的,但是在运行的时候,会报出一个运行时错误:"insert into 语句的语法错误"。用oledbadapter的时候,我并没有指定insert语句,而是用oledbcommandbuilder 来自动产生insert 语句的。仔细想了一下,为什么会产生这个错误呢?我的结论是,可能这张表里的字段名使用了access系统的保留字。于是我在access里创建了一个查询,自己写了一个insert sql,证实我的结论是正确的,number是系统的一个保留字,那怎么修改呢?
一般来说,最简单的方法就是改掉这个字段名,换成非系统保留字的名字,但是库的结构是客户提供的,不允许修改,只有想别的办法。考虑以前的经验,操作access,sql server的时候,如果表的字段中包含了系统的保留字的话,我们在字段外加上方括号就可以了,比如 insert into tblmultitable(prserv,[number]) values(.......)就可以了。可是从上面的代码中我们看到并没有什么地方我们可以指定insert 语句。我想oledbcommandbuilder应该是根据adapter使用的select语句自动生成insert 语句的,所以只要给select 语句中的字段加上方括号就可以了,所以我作了如下的修改:
string sql="select prserv,[number],priorref,grantor,grantee from multitable";
修改完毕以后,测试以后,仍然产生以前的"insert into 语句的语法错误";问题会出在哪里呢?我想应该还是在oledbcommanbuilder上,一般来说,只需要这样用oledbcommanbuilder类就可了:
oledbdataadapter olesub=new oledbdataadapter(sql,olecn);
oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);
打开msdn,看看oledbcommanbuilder的类成员。发现两个很关键的属性:quoteprefix,quotesuffix;仔细想想,oledb可以访问的数据类型非常多啊,所以关键字段的前缀,后缀的处理方法肯定不尽相同,比如访问excel的时候表明应该写成[sheet1$的方式],所以提供这样一种方式是相当灵活的。接下来我再次修改代码,对这两个属性赋值:

复制代码 代码如下:

ataadapter olesub=new oledbdataadapter(sql,olecn);
oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);
cb1.quoteprefix="[";
cb1.quotesuffix="]";

到此,相信大家对"如何理解net insert into语法错误"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

语句 错误 代码 字段 语法 时候 系统 数据 方式 方法 问题 一般来说 两个 关键 内容 属性 结论 学习 查询 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 exp导出数据库跳过某些表 数据库密码修改语句 求手机版躲猫猫服务器 青岛高科网络技术学院 连接数据库的连接名和密码在哪找 青岛广久网络技术有 骑士电脑服务器 数据库技术3个阶段的联系 航天网络安全教育周 打印机服务器配置双网段 找工程设计用什么数据库 软件开发需要非计算机专业 淄博采购管理软件开发公司 据《网络安全法》的规定 网警开展网络安全法制宣传活动 工商银行软件开发中心职业发展 智能互联网络技术就业方向及前景 数据库语句 exec 科技型互联网公司 下列不属于数据库安全设计 电信诈骗.网络安全ppt 部队如何铸牢网络安全防线 java导出数据到文件服务器 共筑网络安全的作文 万光数据库 服务器如何保存大量视频 银行科技跳槽到互联网产品经理 网络安全检测工具收益分析 德州金轩网络技术有限公司 腾讯网络安全战队
0