语法家教有问题题

IC卡会员软件
400服务热线: 传真:8 友链交换: QQ &
地址:深圳市宝安区沙井中心路新福大厦8楼&
CopyRight & &&版权所有&
专业研发销售:,会员管理软件,会员积分软件,会员积分系统,会员卡管理软件,会员卡管理系统2227人阅读
高手的足迹
前段时间用vb.net+access做练习发现了个问题.我定义了一个非常简单的select查询在sql server企业管理器中没问题,但在.net IDE中调试就通不过,提示 &使用OleDbCommandBuilder时出现“Insert into 语句的语法错误”的解决方法&.后来发现是数据库中表的字段名有问题,baidu一下找到下面的东东
&当我们用C#开发数据库访问程序的时候,通常有3种方式:odbc,oleDb,ado.其实我想对于这三种方式,这个问题都会出现,但是这次我遇到问题的时候用的是oleDb的方式,我们就用oleDb的方式来描述吧。
问题描述:
&&&& 我用OleDb的方式向Access数据里写数据,示例源码如下:
&&& string 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$的方式],所以提供这样一种方式是相当灵活的。接下来我再次修改代码,对这两个属性赋值:
&&& OleDbDataAdapter oleSub=new OleDbDataAdapter(sql,oleCn);
&&& OleDbCommandBuilder cb1=new OleDbCommandBuilder(oleSub);
&&& cb1.QuotePrefix=&[&;
&&& cb1.QuoteSuffix=&]&;
再次测试,通过!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:18183次
排名:千里之外
原创:11篇
(2)(1)(1)(5)(2)(2)(2)(1)这语法有问题吗,为什么会错误
[问题点数:40分,结帖人hhyh612]
这语法有问题吗,为什么会错误
[问题点数:40分,结帖人hhyh612]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。如何忽略word文档中的全部语法错误
用户可以借助中的“”功能检查Word2010文档中存在的单词或语法错误,并且可以根据实际需要设置“拼写和语法”选项,使拼写和语法检查功能更适合自己的使用需要。在Word2010中设置“拼写和语法”选项的步骤如下所述:
第1步,打开Word2010文档窗口,切换到“审阅”。在“校对”分组中单击“拼写和语法”按钮,如图所示。
图&单击“拼写和语法”按钮
第2步,在打开的“拼写和语法”对话框中单击“选项”按钮,如图所示。
图&单击“选项”按钮
第3步,打开“”对话框,并自动显示“校对”选项卡。其中各个选项的含义解释如下:
(1)忽略全部的单词:选中该选项将忽略检查全部大写的英文单词,例如WORD。
(2)忽略包含数字的单词:选中该选项将忽略检查含有数字的英文单词,例如123。
(3)忽略Internet和文件地址:选中该选项忽略检查网址、电子邮件地址和文件路径,例如。
(4)标记单词:选中该选项,可以对同一行中连续出现两次的单词做出拼写错误的提示。
(5)加强法语重音大写:选中该选项,可以对没有标记为重音的法语大写字母做出拼写错误的提示。
(6)仅根据主提供建议:选中该选项,将仅依据Word内置词典进行拼写检查,而忽略自定义的词典中的单词。
(7):选中该选项启用自定义词典,但受到“仅根据主词典提供建议”的限制。
(8)键入时检查拼写:选中该选项,将在输入单词或短语时检查拼写正误。
(9)使用上下文拼写检查:选中该选项,将根据上下文内容检查单词或短语的拼写正误。
(10)键入时标记语法错误:选中该选项,将在输入文章内容时同步检查并标记语法错误。
(11)随拼写检查语法:选中该选项,将在检查单词或短语的拼写正误时同步检查语法错误。
(12)显示可读性:选中该选项,将在完成拼写和语法检查后打开统计信息对话框。
(13)只隐藏此文档中的拼写错误:选中该选项,则隐藏红色波浪线,但拼写检查功能并没有被关闭。
(14)只隐藏此文档中的语法错误:选中该选项,则隐藏绿色波浪线,但语法检查功能并没有被关闭。
以上选项可以根据实际需要选中或取消
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 姜昆 道德上有问题 的文章

 

随机推荐