【发布时间】:2016-05-12 07:04:02
【问题描述】:
DBConnection objconn = new DBConnection();
objconn.connection(); //calling connection
System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand("tbl_srsdata", objconn.con);
com.CommandType = System.Data.CommandType.Text;
var rows = Table1.Items;
TextBlock field;
TextBlock type;
TextBlock datatype;
TextBlock len;
TextBlock buis;
int id;
id = Redirect.identity;
MessageBox.Show(id.ToString());
for (int i = 0; i < rows.Count; i++)
{
DataGridRow row = (DataGridRow)Table1.ItemContainerGenerator.ContainerFromIndex(i);
for (int j = 0; j < Table1.Columns.Count; j++)
{
field = Table1.Columns[j].GetCellContent(row) as TextBlock;
j++;
type = Table1.Columns[j].GetCellContent(row) as TextBlock;
j++;
datatype = Table1.Columns[j].GetCellContent(row) as TextBlock;
j++;
len = Table1.Columns[j].GetCellContent(row) as TextBlock;
j++;
buis = Table1.Columns[j].GetCellContent(row) as TextBlock;
j++;
com.CommandText = "insert into tbl_srsdata(id,field,[type_of_control],datatype,length,other_buisness_rules) values( " + id + ", " + field.Text + "," + type.Text + "," + datatype.Text + "," + len.Text + "," + buis.Text + ");";
com.ExecuteNonQuery();
}
}
最后一行出现错误。错误是: System.Data.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理。 附加信息:关键字“of”附近的语法不正确。 谁能帮我解决这个问题。
【问题讨论】:
-
显示一个失败的示例 com.CommandText - 密钥将在其中 - 此外,您可能需要在文本字段周围加上引号..
-
如果您要插入文本字段,您应该用引号括起来。
-
你能告诉我应该在哪里用引号括起来吗?
-
DeepanshiBansal - 请参阅@DmitriyZapevalov 提供的答案,这是编写 ado.net 的正确方法。 始终在您的数据库调用中使用参数。
-
您还应该始终将数据库连接包装在
using块中,以确保它们在您完成后立即关闭。否则,您可能会拥有比所需时间更长的开放连接,这可能会导致性能问题(除其他外)。
标签: c#