C#中sql语句不能正常执行,各位大牛帮忙看一下
private void Form3_Load(object sender, EventArgs e)
{
string sql = "insert into Phone3 (select * from Phone1 union select * from Phone2)";
SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
if( cmd.ExecuteNonQuery()==0)
MessageBox.Show(@"成功!");
con.Close();
没有插入成功,也没有弹出MessageBox。
断点调试是出现了:
线程 0x163c 已退出,返回值为 259 (0x103)。
“System.Data.SqlClient.SqlException”类型的第一次机会异常在 System.Data.dll 中发生
各位帮小弟一把,刚学C#,好多不懂的。
什么数据库?如果是 SQL Server 是不应该有括号的。
你最好在数据库中把 SQL 运行成功了再放到程序中。
你的sql语句有问题吧,直接数据库中执行一下。
有可能你执行数据插入时出错,导致后面代码没有执行
你可以
if( cmd.ExecuteNonQuery()==0)
MessageBox.Show(@"成功!");
把他弄成
int a= cmd.ExecuteNonQuery();//看看是不是在这里就出错了
if( a==0)
MessageBox.Show(@"成功!");
sql语句的格式是:insert into Phone3 (舒心,属性,属性,属性) values (值,值,值,值);所以在这里你可以看一下select * from Phone1 union select * from P hone2查询出来的是哪些属性然后放在Phone(3)里面
应该是sql语句有问题,调试下,把完整的sql语句粘出来,在数据库里执行下,很明白的可以看到哪里有问题
确实应该先把sql在查询编辑器中执行一下,看下能不能行,如果怕更改了数据,可以用BEGIN TRAN 和 ROLLBACK 包裹起来。