1

我正在尝试插入数据库,它只有在我转到表属性时才会更新,然后按“执行 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。

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

在此处输入图像描述

只有在此之后,该行才会受到影响。有什么原因吗?

更新2

我知道stmt。工作正常。但可能是什么问题?它不应该自动更新吗?为什么我必须去“执行 SQL”?

我正在使用 sql 服务器

4

4 回答 4

1

在您的问题标签中给出了“mysql”,但对我来说它看起来像 SQL 服务器。

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

于 2013-02-06T04:42:21.223 回答
0

如果您在谈论 asp.net 页面....那么您需要在插入后更新页面中的表格内容...并cmd.ExecuteNonQuery()返回一个整数,表示没有影响的行....您可以检查您的查询是否工作与否...

于 2013-01-23T06:57:18.420 回答
0

我没发现任何问题

在 C# 中使用“Using”语句

using (Con=new SqlConnection(s);)
{
    Con.Open();
    cmd=new SqlCommand("insert into stu values('"+TextBox1.Text+"','"+TextBox2.Text+"')",Con);
    cmd.ExecuteNonQuery(); 
    Con.Close();
}
于 2013-01-23T07:26:23.040 回答
-1

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

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

于 2013-01-23T06:56:43.163 回答