C# C-sql更新代码。Access数据库中的列太多
我有一个c程序,可以更新access数据库文件.mdb中每个表中的2列。我更新的列是短字符串类型,在更新之前,我还将它们的大小更改为255。我有15个文件,我的代码为前7个数据库工作,第8个文件崩溃。我分别更新每个代码,并且在数据库中间崩溃。 System.Data.OleDb.OLEDBEException:“记录太大。” 正在崩溃的查询字符串: 更新订单集SYMBOLE='AGLX19.A8E',SYMBOLE2='AWLX19.A8E@P516@PQ@P517@PQ@P518@PQ@P519@PQ'其中代码='2862411' 我也在在线检查器中仔细检查了sql字符串。 我也在谷歌上搜索过,发现这个错误,可能是因为我数据库中的列太多了,实际上当我打开数据库文件时,大约有220列。但当我通过编程计算列数时,它显示在更改列中短字符串类型的长度之前/之后大约有878列。对于其他表,它显示正确的计数 我发现复印表格,可能会有帮助。但实际上我也不能这么做C# C-sql更新代码。Access数据库中的列太多,c#,sql,ms-access,oledb,C#,Sql,Ms Access,Oledb,我有一个c程序,可以更新access数据库文件.mdb中每个表中的2列。我更新的列是短字符串类型,在更新之前,我还将它们的大小更改为255。我有15个文件,我的代码为前7个数据库工作,第8个文件崩溃。我分别更新每个代码,并且在数据库中间崩溃。 System.Data.OleDb.OLEDBEException:“记录太大。” 正在崩溃的查询字符串: 更新订单集SYMBOLE='AGLX19.A8E',SYMBOLE2='AWLX19.A8E@P516@PQ@P517@PQ@P518@PQ@P51
private void CopyDeleteCopyDeleteQuery(string tableName)
{
string queryString = "CREATE TABLE " + tableName + "O"+
" AS (SELECT * FROM " + tableName +
" WHERE CODE='0801733');";
using (OleDbConnection connectionInput = new OleDbConnection(connectionStringInput))
using (OleDbCommand command = new OleDbCommand(queryString, connectionInput))
{
connectionInput.Open();
command.ExecuteNonQuery();
command.Dispose();
}
}
System.Data.OleDb.OLEDBEException:“CREATE TABLE语句中出现语法错误。”
查询字符串:
创建表格CARTEO作为SELECT*FROM CARTE,其中CODE='0801733'
字段限制为2kB,不包括备注和OLE。大约有220列字段,您很可能会达到该限制
您应该规范化表格,或将某些列转换为备注字段。请尝试将您的问题限制为一个问题。您复制表的语法不正确,MS Access使用SELECT。。。将查询复制到表中,而不是按选择方式创建表
private void CopyDeleteCopyDeleteQuery(string tableName)
{
string queryString = "CREATE TABLE " + tableName + "O"+
" AS (SELECT * FROM " + tableName +
" WHERE CODE='0801733');";
using (OleDbConnection connectionInput = new OleDbConnection(connectionStringInput))
using (OleDbCommand command = new OleDbCommand(queryString, connectionInput))
{
connectionInput.Open();
command.ExecuteNonQuery();
command.Dispose();
}
}