1、我想在设计一个数据库时候,比如会员权限,这个是设置在会员表里设置个字段用(0代表普通会员,1代表VIP ,2代表贵宾,3代表管理员等)还是新建个用户权限表?
========
都可以,得看需求,复杂权限模型,得选择后者
2、在同时对多表操作的时候是不是一定要多条SQL语句啊?打个比方,比如在做网上书店时候,在修改书目信息的时候,修改的内容设计到2个表,是不是要同时建立两个连接和两个SQL语句?谢谢!=============
得在一个连接(也称会话)中完成,这才能保证是一个事务(不讨论分布式事务),
多张表操作一般需要多条sql语句,这些语句得在一次连接中完成

解决方案 »

  1.   

    对于2能否给个ADO。NET的例子?或者写几条语句格式也可以。3Q!
      

  2.   

    SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
    SqlCommand cmd=new SqlCommand();
    cmd.Connection=conn;
    conn.Open();
    SqlTransaction tran=conn.BeginTransaction();//定义事务对象
    cmd.Transaction=tran;
    try
    {
    cmd.CommandText="update areaSort set orderid="+uporderid+" where id="+id.ToString();
    cmd.ExecuteNonQuery();
    cmd.CommandText="update areaSort set orderid="+oldorderid+" where id="+upid;
    cmd.ExecuteNonQuery();
    tran.Commit();
    conn.Close();
    }
    catch
    {
    tran.Rollback();
    conn.Close();
    }
    上述只要有一个cmd没有成功,则会退回原始状态。
      

  3.   


    看情况

    可以建立一次连接,两个SQL语句,如果要求不高,可以在数据库中建立一个存储过程,直接调用该存储过程,否则最好用事务
    事务:BEGIN TRANSACTION
    ....
    COMMIT TRANSACTION