2013-01-23 123 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(); 
}