按钮提交数据库为什么会被插入两次 一个很简单的插入操作 即 点击按钮 执行插入 insert into tablename(id,name) values('id','name') 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 插入的数据就按钮里面 连接数据库 执行sql语句 没循环 加断点 也看不到但换成存储过程就没出现重复插入了 protected void btnAddSupplier_Click(object sender, EventArgs e) { using (SqlConnection con = new SqlConnection(connstring)) { con.Open(); SqlCommand cmd = con.CreateCommand(); SqlTransaction transaction; transaction = con.BeginTransaction("CBDTransaction"); cmd.Connection = con; cmd.Transaction = transaction; int k; try { cmd.CommandText = "insert into tableName(id,name) value("+txtId.text+","+txtName.text+")"; cmd.CommandType = CommandType.Text; k=(int) cmd.ExecuteNonQuery(); transaction.Commit(); } catch (SqlException ex) { k = 0; transaction.Rollback(); throw new Exception(ex.Message); } finally { con.Close(); cmd.Dispose(); if (con.State == ConnectionState.Open) con.Close(); con.Dispose(); } }} protected void Button1_Click(object sender, EventArgs e) {string sqlcon = ConfigurationManager.ConnectionStrings["mycon"].ConnectionString.ToString(); using (SqlConnection con = new SqlConnection(sqlcon)) { con.Open(); SqlCommand cmd = con.CreateCommand(); SqlTransaction transaction; transaction = con.BeginTransaction("CBDTransaction"); cmd.Connection = con; cmd.Transaction = transaction; int k; try { cmd.CommandText = "insert into tt values('" + txtid.Text.ToString() + "','" + txtuser.Text.ToString()+ "')"; cmd.CommandType = CommandType.Text; k = (int)cmd.ExecuteNonQuery(); transaction.Commit(); } catch (SqlException ex) { k = 0; transaction.Rollback(); throw new Exception(ex.Message); } finally { con.Close(); cmd.Dispose(); if (con.State == ConnectionState.Open) con.Close(); con.Dispose(); } } }楼主我的,只插入一次啊!!!!! 大家说说以后的发展趋势,asp.net的webform会被MVC取代吗? Asp.net 入门遇到的问题 问问关于asp.net 页面链接的问题 如何动态的改变表格的背景图片 C#简单问题,struct是对象吗? 关于验证控件的问题,请教了!!! 把程序移到另一台机器,水晶报表运行出错 这个问题大家遇见过吗? 编辑界面的奇怪现象?请帮帮我 datagrid遍历问题??? 请教大家一个MARQUEE的问题 正则小问题
没循环 加断点 也看不到
但换成存储过程就没出现重复插入了
{
using (SqlConnection con = new SqlConnection(connstring))
{
con.Open();
SqlCommand cmd = con.CreateCommand();
SqlTransaction transaction;
transaction = con.BeginTransaction("CBDTransaction"); cmd.Connection = con;
cmd.Transaction = transaction;
int k;
try
{
cmd.CommandText = "insert into tableName(id,name) value("+txtId.text+","+txtName.text+")";
cmd.CommandType = CommandType.Text;
k=(int) cmd.ExecuteNonQuery();
transaction.Commit();
}
catch (SqlException ex)
{
k = 0;
transaction.Rollback();
throw new Exception(ex.Message);
}
finally
{
con.Close();
cmd.Dispose();
if (con.State == ConnectionState.Open)
con.Close();
con.Dispose(); }
}
}
{
string sqlcon = ConfigurationManager.ConnectionStrings["mycon"].ConnectionString.ToString();
using (SqlConnection con = new SqlConnection(sqlcon))
{
con.Open();
SqlCommand cmd = con.CreateCommand();
SqlTransaction transaction;
transaction = con.BeginTransaction("CBDTransaction");
cmd.Connection = con;
cmd.Transaction = transaction;
int k;
try
{
cmd.CommandText = "insert into tt values('" + txtid.Text.ToString() + "','" + txtuser.Text.ToString()+ "')";
cmd.CommandType = CommandType.Text;
k = (int)cmd.ExecuteNonQuery();
transaction.Commit();
}
catch (SqlException ex)
{
k = 0;
transaction.Rollback();
throw new Exception(ex.Message);
}
finally
{
con.Close();
cmd.Dispose();
if (con.State == ConnectionState.Open)
con.Close();
con.Dispose(); } } }
楼主我的,只插入一次啊!!!!!