问题1:在Datalist中 将一个label控件放在了Head模板中,现在需要在后台(aspx.cs)代码中编写代码语句将string str="值" 赋给label控件的text属性, 该怎样写这个赋值代码? 我试了一些办法都调不出label控件.
问题2:关于数据库中的触发器,如:有2张表,表1,表2,他们都有一个相同的字段:commID,现在需要写一个删除语句的触发器,当删除表1中的记录时,触发器激活,删除掉表2中与之相应的记录(sql语句:delete * from 表1 inner join 表2 on 表1.commID=表2.commID)大概意思就是这样,但该如何写这个触发器?希望举个列子问题3:关于释放和关闭 
       如:sqlconnection conn=new sqlconnection("连接字符串");
             conn.open();.......后面代码省略
         最后应该先释放(conn.dispose)还是先关闭(conn.close)? 他们哪个在前哪个在后?还是说只需要调用其中一个就可以? 先后分别有什么区别?问题4: 通常我们都知道在sqlcommand中可以添加参数,
      如:sqlcommand cmd=new sqlcommand("sql语句",conn);
            cmd.patameters.addwithvalues("参数",参数值);
            ........后面代码省略......
从而防止sql注入攻击,那需要用到sqldataadapater时传入一个参数,该如何办?sqldataadapater有诸如cmd样的patameters方法?请分别说明下,谢谢各位

解决方案 »

  1.   

    1.datalist应该有个findcontrol方法,参数可以是label的id,找到后用as转换成Label,然后lbl.Text=str
      

  2.   

    触发器
    用这个试试
    create trigger str_User_Delete
    on users
    instead of delete
    as
    begin
    declare @Id int
    select @Id=id from deleted
    delete from articles where authorid=@Id
    delete from users where id=@Id
    end
      

  3.   

    问题1:1楼正解
    问题2:在同一事件中写2个SQL的delete语句
    问题3:conn.close()
    问题4:本人菜鸟。。观望
      

  4.   

    3.conn.close()就行了,不需要dispose()
      

  5.   

    4.SqlDataAdapter好像不能设参数,参数都可以设在SqlCommand里面
      

  6.   

    问题1:在Datalist中 将一个label控件放在了Head模板中,现在需要在后台(aspx.cs)代码中编写代码语句将string str="值" 赋给label控件的text属性, 该怎样写这个赋值代码? 我试了一些办法都调不出label控件. -------------------------------------------------
    (Label)Datalist.FindControl("Label控件的ID")可以获取到这个label控件。问题2:关于数据库中的触发器,如:有2张表,表1,表2,他们都有一个相同的字段:commID,现在需要写一个删除语句的触发器,当删除表1中的记录时,触发器激活,删除掉表2中与之相应的记录(sql语句:delete * from 表1 inner join 表2 on 表1.commID=表2.commID)大概意思就是这样,但该如何写这个触发器?希望举个列子 -----------------------------------
    CREATE  TRIGGER trigger_name
    AFTER DELETE
        ON table_name
    BEGIN
       DELETE FROM 表2 WHERE commID in (select commID from Deleted)
    END问题3:关于释放和关闭 
          如:sqlconnection conn=new sqlconnection("连接字符串"); 
                conn.open();.......后面代码省略 
            最后应该先释放(conn.dispose)还是先关闭(conn.close)? 他们哪个在前哪个在后?还是说只需要调用其中一个就可以? 先后分别有什么区别? 
    -----------------------------------------
    conn.close()即可,不用显示去调用dispose,.net在做垃圾回收时,自己回去调用dispose
    问题4: 通常我们都知道在sqlcommand中可以添加参数, 
          如:sqlcommand cmd=new sqlcommand("sql语句",conn); 
                cmd.patameters.addwithvalues("参数",参数值); 
                ........后面代码省略...... 
    从而防止sql注入攻击,那需要用到sqldataadapater时传入一个参数,该如何办?sqldataadapater有诸如cmd样的patameters方法?请分别说明下,谢谢各位
    -----------------------------------------
    不用adapter好多年,但是好像adapter自己会去处理参数,不用担心注入的问题。