我是ASP.NET新手
当我尝试运行以下命令时:
SqlConnection myconn=new SqlConnection();
myconn.ConnectionString = "Data Source=PINTU-PC\\SQLEXPRESS;Initial Catalog=pintuDB;Integrated Security=True";
myconn.Open();
string qry="insert into test values('"+ username +"')";
SqlCommand cmd=new SqlCommand(qry,myconn);
cmd.ExecuteNonQuery();
myconn.Close();
我在表测试中获取数据为“ System.Web.UI.WebControls.TextBox ”。
请帮助。
答案 0 :(得分:4)
问题是您没有在文本框中调用.Text
属性。我猜你的文本框的名称是username
,应该像username.Text
一样使用,否则,因为连接,文本框会转换为字符串,变为System.Web.UI.WebControls.TextBox
string qry="insert into test values('"+ username.Text +"')";
出于安全原因,控件中的值不应在查询中连接,您应该使用Parameters来避免Sql Injection
string connectionString = "Data Source=PINTU-PC\\SQLEXPRESS;Initial Catalog=pintuDB;Integrated Security=True";
using(SqlConnection myconn = new SqlConnection(connectionString))
{
string qry="insert into test values(@username)";
SqlCommand cmd=new SqlCommand(qry, myconn);
comm.Parameters.AddWithValue(@username, username.Text);
cmd.ExecuteNonQuery();
myconn.Close();
}