我可以在具有15列的访问数据库中添加新记录吗?我使用这个sql非常不方便:
insert into Account(col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11,col12,col13,col14,col15) Values(val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15)
列表组成列有2个名称(名称)和值(信息)。例如:
name[1]="col1";
info[1]="val1";
普通的列名是否重要?我可以使用这个Sql:
insert into Account(col1) Values(val1)
之后我使用“update”sql和“for-loop”来设置值? 我也收到一个错误: 您向表请求的更改未成功,因为它们将在索引,主键或关系中创建重复值。更改包含重复数据的字段或字段中的数据,删除索引或重新定义索引以允许重复条目,然后重试。
非常感谢你。 :)
答案 0 :(得分:0)
在for循环之前插入一个并在for循环中更新。
下面给出了一个示例代码。
string Query = "insert into Account(col1) Values(val1)";
// execute it
for(int i=1;i<name.count -1;i++)
{
Query = "Update Account set " + name[i] + " = " + info[i] + " where col1 = val1";
// execute
}
代码未经测试。
答案 1 :(得分:0)
public static void insert(String[] name ,String[] info)
{
String Names = "";
String Cols = "";
for(int i=0;i < name.Length;i++)
{
Names += (Names == "" ? "" : ", ") + name[i];
Cols += (Cols == "" ? "" : ", ") + "'" + info[i] + "'";
}
String Query = "insert into Account (" + Names + ") Values (" + Cols + ")";
Console.WriteLine(Query);
}
代码未经过测试,请注意我为值添加了单引号,假设所有值都是字符串类型。