Stu*_*uck 0 c# sql-server asp.net
我在这里问了一个问题.为什么我的数据不能插入我的数据库?我已经在SQL Server中创建了一个表.这是我的代码行供您参考.
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString);
SqlCommand cmd = new SqlCommand("Insert into CarTab(Brand,Model,Plate,Color,Service) Values (@brand,@model,@plate,@color,@year,@service)",conn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@brand", Label1.Text);
cmd.Parameters.AddWithValue("@model", Label2.Text);
cmd.Parameters.AddWithValue("@plate", Label3.Text);
cmd.Parameters.AddWithValue("@color", Label4.Text);
cmd.Parameters.AddWithValue("@year", Label5.Text);
cmd.Parameters.AddWithValue("@service", Label6.Text);
conn.Open();
cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
我的代码有问题吗?请帮助我.我被困在这里.谢谢.
Year您的命令语句中似乎缺少它:
SqlCommand cmd = new SqlCommand(
"Insert into CarTab(Brand,Model,Plate,Color,Year,Service)
Values (@brand,@model,@plate,@color,@year,@service)",
conn);
Run Code Online (Sandbox Code Playgroud)
您提供6个参数,但只有5列.
您收到错误消息了吗?通常,会出现一些包含某些信息的错误消息; 它通常看起来像这样:
INSERT语句中的列少于VALUES子句中指定的值.VALUES子句中的值数必须与INSERT语句中指定的列数相匹配.
编辑.
如果您仍然遇到问题,接下来要做的是查看实际的错误消息.让我们稍微重构你的代码:
using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString))
{
using(SqlCommand cmd = new SqlCommand("Insert into CarTab(Brand,Model,Plate,Color,Service) Values (@brand,@model,@plate,@color,@year,@service)",conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@brand", Label1.Text);
cmd.Parameters.AddWithValue("@model", Label2.Text);
cmd.Parameters.AddWithValue("@plate", Label3.Text);
cmd.Parameters.AddWithValue("@color", Label4.Text);
cmd.Parameters.AddWithValue("@year", Label5.Text);
cmd.Parameters.AddWithValue("@service", Label6.Text);
conn.Open();
try
{
cmd.ExecuteNonQuery();
}
catch(Exception e)
{
string errorMessage = e.Message;
//Set a label on the client to see the error message, or pause in the debugger and examine the property here.
//throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你没有看到任何错误,这就是我最初的困惑,那么实际上可能是因为你的事件处理程序没有连线; 有时,设计人员会将事件处理程序取消,这意味着您的点击和实际代码将被取消关联并且永远不会运行.
检查你有:
Button2.Click += Button2_Click;
Run Code Online (Sandbox Code Playgroud)
在InitializeComponent构造函数或Load事件中.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |