yunchen_yuan
yunchen_yuan
采纳率66.7%
2017-01-03 09:06 阅读 1.5k

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

20

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条回答 默认 最新

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

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

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-01-03 09:17

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

    点赞 1 评论 复制链接分享

相关推荐