黑马程序员技术交流社区

标题: 技术小笔记 [打印本页]

作者: 王新阳    时间: 2012-11-16 18:49
标题: 技术小笔记
《无限级分类》
        private void Bindtree(TreeNode treenode, string pid)     代表接受在页面加载传过来的TreeNode
        {        pid代表要查询的字段
            DataTable dt = Pro_showManager.selectTreeview(pid);
            foreach (DataRow rs in dt.Rows)
            {
                TreeNode tn = new TreeNode();
                tn.Text = rs["Name"].ToString();
                tn.Value = rs["id"].ToString();
                if (pid == "0")
                {
                    TreeView1.Nodes.Add(tn);
                }
                else
                {
                    treenode.ChildNodes.Add(tn);
                }
                Bindtree(tn, rs["id"].ToString());
            }
        }
《在sql里有冗余信息只留一条剩余删除》
  select * from Score where ScoreId not in (select max(ScoreId) from dbo.Score group by [Name], Score, GroupId, IP)
delete Score where ScoreId not in (select max(ScoreId) from dbo.Score group by [Name], Score, GroupId, IP)
《插入一条语句返回本次插入的id》
insert into 表名(字段名) values(值。。。。)
select SCOPE_IDENTITY(); --返回本次语句块中插入数据的最后一个自增量ID
insert into 表名(字段名) values(值。。。。)
select @@IDENTITY; --返回整个数据库中插入数据的最后一个自增量ID
《触发器》
-------关键代码------
CREATE TRIGGER trig_delete_transInfo

ON transInfo
  
FOR DELETE
   
AS
     
print '开始备份数据,请稍后......'
      
IF NOT EXISTS(SELECT * FROM sysobjects
  WHERE name='backupTable')
        
SELECT * INTO backupTable FROM deleted
     
ELSE
         
INSERT INTO backupTable SELECT * FROM deleted
      
print '备份数据成功,备份表中的数据为:'
      
SELECT * FROM backupTable
GO

《ROW_NUMBER() over(order by id)分页存储过程》
create proc p_存储过程名
@当前页 int,@每页显示多少条 int
as
select * from (select *,ROW_NUMBER() over(order by id) as 排序 drom (表名)) a
where 排序  between (@当前页-1)*@每页显示多少条+1 and @当前页*@每页显示多少条
go
《上传图片》
if (FileUpload1.HasFile)//判断FileUpload1是否为空(返回类型bool)
            {
                string s = Server.MapPath(".");//得到根目录
                string s3 = this.FileUpload1.FileName;//得到添加的文件名
                string s2 = s + "/images/" + s3;
                this.FileUpload1.SaveAs(s2);//将文件存在服务器
            }

《DataSet取值》
DataSet ds=xx;
foreach (DataRow row in ds.Tables[0].Rows)   DataRow是DataSet中的一行   ds.Tables[0].Rows表示DataSet很多表  里面的其中的一个
{
string name=   row["asda"].ToString();   row["asda"]数据库字段
}

《做批量删除的时候拼接字符串》
create proc p_daleteuserinfo  //存储过程名
@username nvarchar(1000)
as

if @username<>'' //判断是否为空以防报错
begin
    declare @sql varchar(500)   //定义字符串变量
    set @sql= 'delete from UserInfo where '@username  //把传过来的字符串和变量拼起来
    exec(@sql)  ////最后执行变量

end
GO
《采集原理》
其实采集并没有什么只是经验少有时有人说   “采集”  有时会误导人  
说白了就是: 首先得到一个入口“入口 就是url地址” 通过正则表达式 “(?<=" + (变量)+ ").*?(?=" + (变量)+ ") 就是从什么后开始 到什么时候结束 是开始和结束之间的字符” 能得到您输入的url地址里面的网页所有代码赋给一个字符串,然后在得到这个字符串里面的所有url地址(href=[\\\"[url=]\\\'](http:\\/\\/|\\.\\/|\\/)?\\w+(\\.\\w+)*(\\/\\w+(\\.\\w+)?)*(\\/|\\?\\w*=\\w*(&\\w*=\\w*)*)?[\\\"\\\'[/url]]),放在泛型里面,然后便利泛型调用某方法(方法里要做的事   就是得到 XX内容 XX标题 XX时间 XX什么   得到你想得到的)得到之后再把本网页里面的所有url放到放到泛型里继续便利  一只到不符合条件或者泛型里没有数据为止


作者: 许庭洲    时间: 2012-11-16 21:45
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2