读书人

c# 向access添加行纪录的有关问题

发布时间: 2011-12-26 23:09:58 作者: rapoo

c# 向access添加行纪录的问题。
请问,为什么我在添加一行到数据库里会出错?

我的access数据库里一个表hashValue.
字段为
userNumber longinteger
inputvector memo  就是备注类型,应为我想在这里存1024个字符.所以不能用character.
i longinteger
t longinteger
Bit characters
Top longinteger
c#代码为

C# code
using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.OleDb;namespace connectionDB{    class Program    {        static void Main(string[] args)        {            OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Thesis\thesis programming\database\user1.mdb;Jet OLEDB:Engine Type=5");            cn.Open();            //OleDbCommand command = cn.CreateCommand();            OleDbDataAdapter adapter = new OleDbDataAdapter("select userNumber,inputVector,i,t,Bit,Top from hashValue", cn);            OleDbCommandBuilder comb = new OleDbCommandBuilder(adapter);             DataSet ds = new DataSet();            adapter.Fill(ds, "hashValue");            DataRow dr = ds.Tables["hashValue"].NewRow();            dr[0] = 11;            dr[1] = "1111111";            dr[2] = 22;            dr[3] = 33;            dr[4] = '1';            dr[5] = 44;            ds.Tables["hashValue"].Rows.Add();            adapter.Update(ds, "hashValue"); //[color=#FF0000]这里出错,说  INSERT INTO 语句的语法错误[/color]。            cn.Close();            Console.Read();                     }    }}


[解决办法]
可能是表中字段名与access中的保留关键字重名,会导致问题的
你用这个方式吧[FieldName]
select userNumber,inputVector,i,t,[Bit],[Top] from hashValue

读书人网 >C#

热点推荐