我的c#代码有什么问题

时间:2015-04-14 17:44:45

标签: c#

这是错误

'/ Kibritak3'应用程序中的服务器错误。

无效的列名称“名称”。 列名称“电话”无效。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无效的列名称“名称”。 列名称“电话”无效。

来源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。

堆栈追踪:

its just come if i write this code
 **

if (Literal1.Text == "Data inserted successfully")
        {
            Response.Redirect("http://localhost:1038/Kibritak3/CompanyHomePage.aspx");
        }
        else {
            txtName.Text = "";
            txtEmail.Text = "";
            txtPhone.Text = "";
        }

**
and without it evrything is ok
-------------------------
full code:
    public void refress()
    {
        txtName.Text = "";
        txtEmail.Text = "";
        txtPhone.Text = "";
        txtLocation.Text = "";
        txtHistory.Text = "";
    }




    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
         SqlCommand cmd = new SqlCommand("insert into Com_INFO(Name,Email,Phone,Location,History) values('" + txtName.Text + "','" + txtEmail.Text + "','" +txtPhone.Text+ "','" +txtLocation.Text+ "','"+txtHistory.Text+"')", con);

        cmd.CommandType = CommandType.Text;

        try
        {

            con.Open();

            cmd.ExecuteNonQuery();

            Literal1.Text = "Data inserted successfully";

            con.Close();

            refress();

        }

        catch (Exception ex)
        {

            Literal1.Text = ex.Message;

        }
        if (Literal1.Text == "Data inserted successfully")
        {
            Response.Redirect("http://localhost:1038/Kibritak3/CompanyHomePage.aspx");
        }
        else {

            txtName.Text = "";
            txtEmail.Text = "";
            txtPhone.Text = "";
        }
    }
}

3 个答案:

答案 0 :(得分:0)

请验证一次数据库的属性。 要么 不要在查询中包含表的属性。

SqlCommand cmd = new SqlCommand("插入Com_INFO值('" + txtName.Text +"','" + txtEmail .Text +"','" + txtPhone.Text +"','" + txtLocation.Text +"& #39;,'" + txtHistory.Text +"')",con);

答案 1 :(得分:0)

当错误消息指出(和其他贡献者)时,您的数据库中没有列'name'和'phone'。另外,作为旁注,永远不要在代码中编写实际的sql查询。将其写入存储过程,然后从代码中调用存储过程。

答案 2 :(得分:0)

你能再次查看你的数据库吗?我想您刚刚在数据库中添加了这些列,您需要做的就是刷新数据库。当您在程序中处理DML命令以保护数据/数据库时,请使用参数。