我正在尝试插入到数据库中,只有当我转到表格属性时它才会更新, 然后按“执行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。
更新 这将使事情变得清晰:
只有在这之后行才会受到影响。有什么理由吗?
UPDATE2
我知道这个问题。工作正常。但问题是什么?它不会自动更新?为什么我要去“执行SQL”??
我正在使用sql server
答案 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查询”..