2013-09-21 32 views
0

我新的ASP.NET插入到表通過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

問題是您沒有在文本框中調用.Text屬性。我猜你的文本框的名稱爲username,應該已經使用像username.Text否則,由於串聯的,文本框轉換爲成爲System.Web.UI.WebControls.TextBox

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

出於安全原因的字符串,從控制值不應該被級聯在查詢中,您應該使用參數來避免Sql注入

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(); 
} 
+1

+1 – HelloW