2

我正在使用文本框,textbox1 接受现有字段的值,textbox2 接受新字段名称。当我单击按钮时,我在 d/b 的 textbox1 中输入的相应字段名称应更改为在 textbox2 中输入。

protected void Button1_Click(object sender, EventArgs e) { //str = "sp_RENAME 'book.author','Au_Name','COLUMN'";

    str = "sp_RENAME 'book.'" + TextBox1.Text + "','" + TextBox2.Text + "','COLUMN'";
    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog= Library;Integrated Security=true");
    con.Open();
    SqlCommand cmd = new SqlCommand(str, con);
    SqlDataReader dr = cmd.ExecuteReader();

    //("SELECT * FROM IMSLogin WHERE Uname = '" + Uname + "' AND PWD= '" + pwd + "'", con)

}

非常感谢,

提前致谢!!

4

1 回答 1

2

第一个也是最明显的问题是用户输入直接发送到数据库。

第二个问题,可以解决你的问题,是单引号sp_rename 'book.

来自评论:替换

str = "sp_RENAME 'book.'" + TextBox1.Text

str = "sp_RENAME 'book." + TextBox1.Text 

(并且可能对 TextBox1.Text 的内容添加一些检查)

于 2013-08-07T22:31:47.393 回答