不使用ASP.NET(C#)插入DataBase(MySQL)

时间:2013-01-23 05:54:51

标签: c# asp.net sql-server

我正在尝试插入到数据库中,只有当我转到表格属性时它才会更新, 然后按“执行SQL”。

以下是代码:

  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。

更新 这将使事情变得清晰:

enter image description here

只有在这之后行才会受到影响。有什么理由吗?

UPDATE2

我知道这个问题。工作正常。但问题是什么?它不会自动更新?为什么我要去“执行SQL”??

我正在使用sql server

4 个答案:

答案 0 :(得分:1)

在你的问题中,标签是'mysql',但对我来说它看起来像是SQL服务器。

您的程序正在更新到数据库。但只有刷新sql页面才能看到它。

答案 1 :(得分:0)

如果你正在谈论asp.net页面....那么你需要在插入后更新页面中的表内容...而cmd.ExecuteNonQuery()返回一个整数,表示没有受影响的行...你可以查看你的查询是否有效......

答案 2 :(得分: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();
}

答案 3 :(得分:-1)

这是正常的行为...... 你怎么能说数据不存在?只是因为当你插入时打开你的SSMS并检查你的桌子而不引用它... 您必须知道,当您在SSMS中以“SELECT”形式或“EDIT”形式打开表数据时,它会显示当前插入的所有行。 当您在SSMS旁边插入数据表格时,数据会被插入但无法在现有的opend tableview中显示,直到您刷新它...

请注意,通过referesh我的意思是“再次执行SELECT或EDIT查询”..