请教!!!我的Insert 语句错在哪里???string insCmd="insert into datasource (Type,Group,ChineseName,Page,Part,Paragraph,SN,EnglishName,ProID,Re) values(@Type,@Group,@ChineseName,@Page,@Part,@Paragraph,@SN,@EnglishName,@ProID,@Re)";
try
{
objOleDbDataAdapter.InsertCommand=new OleDbCommand(insCmd,objOleDbConnection); objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Type",System.Data.OleDb.OleDbType.Integer,4,"Type");
objOleDbParameter.SourceVersion=DataRowVersion.Current;
.....
......
try
{
objOleDbDataAdapter.InsertCommand=new OleDbCommand(insCmd,objOleDbConnection); objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Type",System.Data.OleDb.OleDbType.Integer,4,"Type");
objOleDbParameter.SourceVersion=DataRowVersion.Current;
.....
......
注册数据库类型,一般出错都在这上面的。
这是错误提示的消息
表结构是:ID 自动编号;Type 整型;Group 整型........
string insCmd="insert into datasource (Type,Group,ChineseName,Page,Part,Paragraph,SN,EnglishName,ProID,Re) values (@Type,@Group,@ChineseName,@Page,@Part,@Paragraph,@SN,@EnglishName,@ProID,@Re)";
try
{
objOleDbDataAdapter.InsertCommand=new OleDbCommand(insCmd,objOleDbConnection); objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Type",System.Data.OleDb.OleDbType.Integer,4,"Type");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Group",System.Data.OleDb.OleDbType.Integer,4,"Group");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@ChineseName",System.Data.OleDb.OleDbType.VarChar,255,"ChineseName");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Page",System.Data.OleDb.OleDbType.Integer,4,"Page");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Part",System.Data.OleDb.OleDbType.Integer,4,"Part");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Paragraph",System.Data.OleDb.OleDbType.Integer,4,"Paragraph");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@SN",System.Data.OleDb.OleDbType.Integer,4,"SN");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@EnglishName",System.Data.OleDb.OleDbType.VarChar,255,"EnglishName");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@ProID",System.Data.OleDb.OleDbType.VarChar,50,"ProID");
objOleDbParameter.SourceVersion=DataRowVersion.Current; objOleDbParameter=objOleDbDataAdapter.InsertCommand.Parameters.Add("@Re",System.Data.OleDb.OleDbType.VarChar,255,"Re");
objOleDbParameter.SourceVersion=DataRowVersion.Current; if(objDataSet.HasChanges())
{
objOleDbDataAdapter.Update(objDataSet,"results");
}这是插入方法里的全部代码
在这个地方你是不是少个空格?
insert into [datasource] ([Type],[Group],...
ASSCESS中,还有一些自己的关键字呢.建议听13楼的,全用中括号括起来
改用这个方式:[字段名]
试试
string insCmd="insert into datasource (Id,Type,Group,ChineseName,Page,Part,Paragraph,SN,EnglishName,ProID,Re) values (@id,@Type,@Group,@ChineseName,@Page,@Part,@Paragraph,@SN,@EnglishName,@ProID,@Re)";
access insert时必须要把id 也写上即使是自动增加的。
记得是这样的,试验下吧,希望记的没有错
string insCmd="insert into datasource (Id,Type,Group,ChineseName,Page,Part,Paragraph,SN,EnglishName,ProID,Re) values (@id,@Type,@Group,@ChineseName,@Page,@Part,@Paragraph,@SN,@EnglishName,@ProID,@Re)";
access insert时必须要把id 也写上即使是自动增加的。
记得是这样的,试验下吧,希望记的没有错