[英]Datagridview specific rows to database after insert button
大家好,我有小問題無法弄清楚為什么但是當我將數據從 datagridview 行插入到數據庫時發生錯誤:無效的列名'行中的字符串'。 列名或提供的值的數量與表定義不匹配。 這是我的代碼的一些行:
try
{
using (SqlConnection conn = new SqlConnection(cs))
{
using (SqlCommand comm = new SqlCommand())
{
comm.Connection = conn;
conn.Open();
s = 0;
for (columnIndex = 0; columnIndex < dgvDataList.Columns.Count; columnIndex++)
{
columnName = dgvDataList.Columns[columnIndex].Name;
if (!regex.IsMatch(columnName))
{
if (s == 0)
{
StrQuery = @"CREATE TABLE FileTable (" + columnName + " varchar(255));";
comm.CommandText = StrQuery;
comm.ExecuteNonQuery();
s++;
}
else if (s >= 1)
{
StrQuery = @"ALTER TABLE FileTable ADD [" + columnName + "] varchar (255);";
comm.CommandText = StrQuery;
comm.ExecuteNonQuery();
}
}
}
columnIndex = 0;
for (int i = 0; i < dgvDataList.Rows.Count; i++)
{
columnName = dgvDataList.Columns[columnIndex].Name;
if(!regex.IsMatch(columnName))
{
StrQuery = @"INSERT INTO FileTable VALUES ([" + dgvDataList.Rows[i].Cells[columnName].Value + "]);";
comm.CommandText = StrQuery;
comm.ExecuteNonQuery();
}
columnIndex++;
}
}
}
}
任何提示我都會很高興,謝謝。
列名是否真的包含[]
? 看來您在ALTER
查詢中拼寫錯誤。 此外,如果您不希望列值包含[]
,請將其從INSERT
查詢中刪除。
將您的INSERT
查詢編輯為:
StrQuery = @"INSERT INTO FileTable (" + columnName + ")
VALUES ('[" + dgvDataList.Rows[i].Cells[columnName].Value + "]');";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.