为MS-访问与OLEDB对象插入查询得到的异常不是一个有效的查询 [英] Insert query for ms-access with Oledb object getting exception of not a valid query

查看:142
本文介绍了为MS-访问与OLEDB对象插入查询得到的异常不是一个有效的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用下面的code和它给无效插入命令例外。

I'm using the following code and it is giving the invalid Insert command exception.

行DataRow对象被添加到数据库中,conn是OleDbConnection对象

row the DataRow object to be added to the database , conn is the OleDBConnection object.

OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = `"Insert Into Appointments(ID,Body,End,Location,Start,Subject,Properties)"
                                                + "Values(@ID,@Body,@End,@Location,@Start,@Subject,@Properties)";


cmd.Parameters.Add("@ID", OleDbType.WChar).Value = row[0].ToString();
cmd.Parameters.Add("@Body", OleDbType.WChar).Value = row[1].ToString();
cmd.Parameters.Add("@End", OleDbType.Date).Value =  Convert.ToDateTime(row[2]).Date.ToLongDateString();
cmd.Parameters.Add("@Location", OleDbType.WChar).Value = row[3].ToString();
cmd.Parameters.Add("@Start", OleDbType.Date).Value = Convert.ToDateTime(row[4]).Date.ToLongDateString();
cmd.Parameters.Add("@Subject", OleDbType.WChar).Value = row[5].ToString();
cmd.Parameters.Add("@Properties", OleDbType.WChar).Value = row[6].ToString();


                conn.Open();                    
                cmd.ExecuteNonQuery();          //At this line exception is generating
                conn.Close();

请帮我在这。

推荐答案

您已经得到了一个(可能更多)的您的表中的字段名称保留字

You've got one (possibly more) reserved word in your table's field names.

字段名的结束 ...最起码。

The field name End ... at the very least.

尝试

cmd.CommandText = `"Insert Into Appointments(ID,Body,[End],Location,Start,Subject,Properties)"
                                                + "Values(@ID,@Body,@End,@Location,@Start,@Subject,@Properties)";

这篇关于为MS-访问与OLEDB对象插入查询得到的异常不是一个有效的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆