-1

我真的不知道为什么我会收到这条消息

ExecuteNonQuery:CommandText 属性尚未初始化

我的代码完全没有错误,当我查看它时它看起来不错。我一直在网上寻找解决方案,但找不到任何解决方案。这是我的代码。非常感谢任何帮助。

SqlConnection conn = new SqlConnection("Data Source=VALONS;Initial Catalog=gym;Integrated Security=True");
    SqlCommand cmd;
    public NewMem()
    {
        InitializeComponent();
    }

    private void label2_Click(object sender, EventArgs e)
    {

    }

    private void NewMem_Load(object sender, EventArgs e)
    {

    }

    private void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            conn.Open();
            cmd = new SqlCommand("Insert into member(SocialSecurity, Name, City, Street, Zipcode, Email, Phone) values ('" + textSocialSecurity + "','" + textName + "','" + textCity + "','" + textStreet + "','" + textZipCode + "','" + textEmail + "','" + textPhone + "')" + conn);
            cmd.ExecuteNonQuery();
            MessageBox.Show("You have successfully inserted values in Member");
            conn.Close();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);

        }
    }
4

3 回答 3

0

您可能必须这样做:

cmd.CommandText = @"Insert into member(SocialSecurity, Name, City, Street, Zipcode, Email, Phone) values ('" + textSocialSecurity + "','" + textName + "','" + textCity + "','" + textStreet + "','" + textZipCode + "','" + textEmail + "','" + textPhone + "')";

但是你有严重的问题。而且您对 sql 注入持开放态度。

参数化查询。

于 2013-02-07T19:56:06.190 回答
0

The issue might be related to datataype mismatch. Try using parameters instead of directly values becuase of sql injection issue.

cmd = new SqlCommand("Insert into member(SocialSecurity, Name, City, Street, Zipcode, Email, Phone) values (:1,:2,:3,:4,:5,:6,:7)", conn);
cmd.parameters.clear();
cmd.parameters.Add("1", textSocialSecurity);
cmd.parameters.Add("2", textName);
...
cmd.parameters.Add("7", textPhone);
cmd.ExecuteNonQuery();
于 2013-02-07T19:53:15.317 回答
-1

您的命令需要被告知它是什么类型。存储过程,命令文本等。我​​不记得方法,但这就是问题所在。

我建议您分阶段执行此操作 - 打开连接,创建命令对象并设置连接属性,设置它的类型并执行 SQL 文本。我还建议使用带有参数的存储过程,因为它可以解决 SQL 注入问题。

于 2013-02-07T19:53:53.037 回答