yunchen_yuan
2017-01-03 09:06
采纳率: 66.7%
浏览 1.6k

.NET怎么连接一次数据库执行多条语句

protected void Button1_Click(object sender, EventArgs e)
{
string SqlStr = ConfigurationManager.ConnectionStrings["conn"].ToString();

SqlConnection conn = new SqlConnection(SqlStr);

conn.Open();
string sql3 = "select 编号 from CS where 编号 = '" + TextBox1.Text.Trim() + "'";
SqlCommand cmd3 = new SqlCommand(sql3, conn);
cmd3.CommandText = sql3;
cmd3.Connection = conn;
try
{
string BH = cmd3.ExecuteScalar().ToString();
string sql2 = "update CS set 数量 = 数量+1 where 编号 = " + TextBox1.Text.Trim();
SqlCommand cmd2 = new SqlCommand(sql2, conn);

        Response.Write("<script>alert('插入成功')</script>");
    }
    catch
    {
        string sql1 = "insert into CS (编号,索书号,书名,作者,数量) values (";
        sql1 += "'" + TextBox1.Text.Trim() + "','" + TextBox2.Text.Trim() + "','" + TextBox3.Text.Trim() +
            "','" + TextBox4.Text.Trim() + "','" + "1" + "')";
        SqlCommand cmd1 = new SqlCommand(sql1, conn);
        Response.Write("<script>alert('插入成功')</script>");
    }

    conn.Close();

}

第一条语句执行没问题,后面两条语句不报错但没有结果,我的是SQL数据库

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 95后の小姨婆 2017-01-03 09:18
    已采纳

    SqlCommand cmd = new SqlCommand(sql, conn);
    你应该要在这一句后面加上 cmd.ExecuteNonQuery();
    cmd.ExecuteNonQuery()才是cmd的执行,你现在只是赋值,并没有执行cmd语句

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2017-01-03 09:17

    如果你第一条语句执行没有报异常,就不会执行后两条。一种可能出现的异常是,你没有查询到编号,那么进入catch。
    如果都要执行,不要写在catch里。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题