2013-01-23 37 views
1

我試圖插入到數據庫中,它只在我轉到表屬性時更新, 並按下「執行SQL」。使用ASP.NET(C#)不插入到DataBase(MySQL)

下面是代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Web.Configuration; 
using System.Configuration; 
public partial class _Default : System.Web.UI.Page 
{ 
String s; 
SqlCommand cmd; 
SqlConnection Con; 
protected void Page_Load(object sender, EventArgs e) 
{ 



} 
protected void Button1_Click(object sender, EventArgs e) 
{ 

    s = WebConfigurationManager.ConnectionStrings["my"].ConnectionString; 

    Con=new SqlConnection(s); 
    Con.Open(); 
    cmd=new SqlCommand("insert into stu values('"+TextBox1.Text+"','"+TextBox2.Text+"')",Con); 
    cmd.ExecuteNonQuery(); 
    Con.Close(); 




    } 
} 

什麼是錯了,它被不自動更新,但是當我轉到表的內容,右鍵單擊並選擇執行SQL。

UPDATE: 這將會把事情說清楚:

enter image description here

只有在這行是affected.Any原因是什麼?

UPDATE2

我知道的語句。工作正常。但可能是什麼問題?請不要自動更新?爲什麼我必須去「執行SQL」?

我使用SQL Server

+0

這是一個asp頁面嗎?你想在哪裏看到更新,我不明白你的問題。 「它不是自動更新」是什麼意思?該行是否被插入到數據庫中? –

+0

它插入,你可以通過計算你的表中的行數來檢查...... –

+0

,但插入的新行沒有顯示在你的頁面中? –

回答

1

在你的問題標籤被稱爲「MySQL的」,但對我來說,它看起來像SQL服務器。

您的程序正在更新到數據庫。但只有在刷新sql頁面時纔可見。

+0

它不關於刷新,我必須點擊執行SQL! –

+0

@joeyrohan - 我的朋友更新了。請做一件事。嘗試運行你的程序。然後關閉你的sql server management studio窗口的數據編輯窗口。然後嘗試再次打開它可以看到新插入的數據。 –

+0

好會嘗試讓你知道:)感謝您的幫助:) –

-1

這是正常的beahvior ... 你怎麼能這麼說數據不isnerted?只是因爲當你插入你打開你的SSMS並檢查你的表沒有退出它... 你必須知道,當你在SSMS中以「SELECT」形式或「EDIT」形式打開表格數據時,它會不當地顯示當前所有的行插入。 雖然你在SSMS插入數據表單,數據插入,但不能顯示在你現有的opend tableview,直到你刷新它...

請注意,通過referesh我的意思是「執行選擇或編輯查詢再次「..

+0

即使我刷新它,它也不會顯示任何東西。只有當 - >「執行SQL」 –

+0

請你解釋你如何重新註冊? –

+0

右鍵點擊桌面,刷新 –

0

如果你正在談論asp.net頁面....那麼你需要更新插入後的頁面中的表格內容...和cmd.ExecuteNonQuery()返回一個整數,它表示沒有受影響的行.. ..你可以檢查你的查詢是否有效或沒有...

+0

它返回1:p –

+0

然後你的代碼工作得很好。 –

0

我沒有發現任何問題

使用「使用」的聲明在C#

using (Con=new SqlConnection(s);) 
{ 
    Con.Open(); 
    cmd=new SqlCommand("insert into stu values('"+TextBox1.Text+"','"+TextBox2.Text+"')",Con); 
    cmd.ExecuteNonQuery(); 
    Con.Close(); 
}