有人可以帮我弄清楚为什么我在MySQL数据库中获得'System.Web.UI.WebControls.TextBox'
而不是在文本字段中输入实际值。我正在使用的代码如下..
MySql.Data.MySqlClient.MySqlConnection conn;
MySql.Data.MySqlClient.MySqlCommand cmd;
string queryStr;
string connString=System.Configuration.ConfigurationManager.ConnectionStrings["WebAppConnectionString"].ToString();
conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
conn.Open();
queryStr = "";
queryStr = "INSERT INTO seework.userdata (First_Name, Middle_Name, Last_Name, Email_Address, Phone_Number, Username, Password)" + "VALUES('" + firstnameTextBox + "','" + middlenameTextBox + "','" + lastnameTextBox + "','" + emailaddressTextBox + "','" + phonenoTextBox + "','" + usernameTextBox + "','" + passwordTextBox + "')";
cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);
cmd.ExecuteReader();
conn.Close();
我尽我所能但仍然没有运气。任何帮助将非常感激。 在此先感谢!
答案 0 :(得分:1)
您正在使用查询将TextBox本身传递给数据库。您需要传递文本。为此,您可以使用TextBox控件的.Text
属性。它为您提供了Textbox Control中的文本/内容。还有一个建议给你。使用参数化查询代替cuch查询以避免Sql Injection
。
例如:
queryStr = "INSERT INTO seework.userdata (First_Name, Middle_Name)VALUES(@fName,@mName)";
SqlCommand cmd = new SqlCommand(queryStr);
cmd.Parameters.Add("@fName",SqlDbType.VarChar).Value=firstnameTextBox.Text ;
cmd.Parameters.Add("@mName",SqlDbType.VarChar).Value=middlenameTextBox.Text;
// Build your command like this
// Execute the command then