StreamRead和sqlparamter,sql连接查询
StreamRead和sqlparamter,sql连接查询以及分页整理
-> Xml操作
InnerText 会对标签<>转义
InnerXml 不会对标签转义
委托
多播委托.
--写入txt
StreamWrite 写入文本 reader.FieldCount得到字段的个数
StreamWrite对象的WriteLine()方法就可以把读取的内容写入到txt中
StreamRead 读取文本
string temp;
while((temp = reader.ReadLine())!=null) 表示读取数据
//相当对把自增的id去掉
temp=Regex.Replace(temp,@"^\d+,","");
string [] strs=temp.split(new char[] {',',StringSplitOptions.RemoveEmptyEnetits}
//此时长度满足为10才写入数据库
//strs中下表为0的id是不需要的数据 自增的
if(strs.leng==10)
{
string sqlTemp=string.format(sql,strs);
}
--防止sql注入
//2.将用户的输入与参数别名绑定,使用sqlParamter类
SqlParameter p1 = new SqlParameter("@username", uid);
SqlParameter p2 = new SqlParameter("@password", pwd);
//添加到cmd里面
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
--最简单的sqlparameter对象的添加
cmd.Parameters.AddWithValue("@username",username);
--交叉查询
主要在辅助表使用
select t2.num*10,t1.num+1 from tblnumber as t1 cross join tblnumber as t2;
生成1-100的数字 order by 1; 从1开始排序
--内链接
--外链接
--将一个查询作为另一个查询的数据源(派生表)
--将查询(不允许使用order by ,除非order by 与top一起使用)
作为数据源 ,放在from后面 并且用括号取别名 as t1 (结果集)
--在select 中 使用别名引导字段.
--分页***
C#
-Math.Celling()返回当前页的函数
(int)Math.Ceiling(rows * 1.0 / 10);
Lable文本框.Text=string.format("{0}/{1}",1,CountPage); --CountPage总页数
Lable文本框.Text=Regex.Replace(lable文本框的text,@"^/d+/",Page+"/");
就是查找数字/替换成page/;
--分页
between 1 and 10; 语句
select * from student where
stuid between (@page-1)*@count+1 and (@page*count);
2-1*5+1 and 2*5
--在sqlserver 2005 中引入一个排名的函数 Row_Number()函数
Row_Number() over(order by StuName); 按行后面必须紧跟over()排序规则