0

我是 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 ”的形式获取数据。

请帮忙。

4

1 回答 1

4

问题是您没有调用.Text文本框上的属性。我猜你的文本框的名称是username并且应该像username.Text其他方式一样使用,因为连接,文本框被转换为一个字符串,它变成System.Web.UI.WebControls.TextBox

string qry="insert into test values('"+ username.Text +"')";

出于安全原因,控件中的值不应在查询中连接,您应该使用参数来避免 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();
}
于 2013-09-21T08:24:45.843 回答