C# 表格中输入的数据不';t插入到数据表中
我无法在数据表中看到添加的数据 代码如下:C# 表格中输入的数据不';t插入到数据表中,c#,.net,sql,C#,.net,Sql,我无法在数据表中看到添加的数据 代码如下: private void button1_Click(object sender, EventArgs e) { string t1 = textBox1.Text; SqlCeConnection conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Database1.sdf"); conn.Open(); SqlCeCommand cmdIn
private void button1_Click(object sender, EventArgs e)
{
string t1 = textBox1.Text;
SqlCeConnection conn =
new SqlCeConnection(@"Data Source=|DataDirectory|\Database1.sdf");
conn.Open();
SqlCeCommand cmdInsert = conn.CreateCommand();
cmdInsert.CommandText = "INSERT TO table_name (Column1) VALUES (t1)";
cmdInsert.ExecuteNonQuery();
conn.Close();
}
它不会插入到数据表中
点击按钮后,它会给我一个错误
cmdInsert.ExecuteNonQuery() 因为查询没有参数化,所以需要用单引号括起来
cmdInsert.CommandText = "INSERT INTO table_name (Column1) VALUES ('" + t1 + "')";
上面的查询倾向于SQL注入
,下面介绍如何将其参数化:
cmdInsert.CommandText = "INSERT INTO table_name (Column1) VALUES (@t1)";
cmdInsert.Parameter.AddWithValue("@t1", t1);
cmdInsert.ExecuteNonQuery();
因为查询没有参数化,所以需要用单引号括起来
cmdInsert.CommandText = "INSERT INTO table_name (Column1) VALUES ('" + t1 + "')";
上面的查询倾向于SQL注入
,下面介绍如何将其参数化:
cmdInsert.CommandText = "INSERT INTO table_name (Column1) VALUES (@t1)";
cmdInsert.Parameter.AddWithValue("@t1", t1);
cmdInsert.ExecuteNonQuery();
建议参数化
t1
。见参数化值是一个很好的学习实践 链接中的示例:
建议参数化
t1
。见参数化值是一个很好的学习实践 链接中的示例:
怎么了?在不知道错误的情况下,很难诊断问题。它会对其进行调试,但当我单击按钮时,它会显示一个错误,说明SqlCE异常未受影响。分析查询时出错。[Token line number=1,Token line offset=8,Token in error=TO]发生了什么错误?在不知道错误的情况下,很难诊断问题。它会对其进行调试,但当我单击按钮时,它会显示一个错误,说明SqlCE异常未受影响。分析查询时出错。[Token line number=1,Token line offset=8,Token in error=TO]@Kaf by
t1
被声明为string
。未格式化的问题使我的阅读更糟。我拿走了我的,但+1这仍然不适用于我,我仍然在cmdInsert.ExecuteOnQuery()上出错;这是qlCE异常未受影响的错误。分析查询时出错。[Token line number=1,Token line offset=8,Token in error=TO]它是“插入到”而不是“插入到”。@Kaf byt1
被声明为string
。未格式化的问题使我的阅读更糟。我拿走了我的,但+1这仍然不适用于我,我仍然在cmdInsert.ExecuteOnQuery()上出错;这是qlCE异常未受影响的错误。分析查询时出错。[Token line number=1,Token line offset=8,Token in error=TO]它是“插入到”而不是“插入到”。