yunchen_yuan 2017-01-03 09:06 采纳率: 100%
浏览 1567
已采纳

.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里。

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应,发到邮箱2644980770@qq.com
  • ¥15 谁能提供rabbitmq,erlang,socat压缩包,记住版本要对应
  • ¥15 Vue3 中使用 `vue-router` 只能跳转到主页面?
  • ¥15 用QT,进行QGIS二次开发,如何在添加栅格图层时,将黑白的矢量图渲染成彩色
  • ¥50 监控摄像头 乐橙和家亲版 保存sd卡的文件怎么打开?视频怎么播放?
  • ¥15 Python的Py-QT扩展库开发GUI
  • ¥60 提问一下周期性信信号的问题
  • ¥15 jtag连接不上fpga怎么办
  • ¥30 c语言停车场模型。。
  • ¥15 c语言case3运行不出来