GUID 是一种世界唯一表示码 如:9AC23201-D90F-4AF3-B43A-CF2F177596AB ;
强大的微软旗下的 net已经有了在程序中生成 GUID的方法 : Guid.NewGuid
SQl语句:
select A.UserId,A.UserName,A.Error,B.Name,
isnull(B.Sfzh,'还未填写')Sfzh,
B.Tell,B.Address,B.Age,
(case B.General when 1 then '男' when 0then '女' end)性别
from T_User A LEFT OUTER JOIN T_UserInfo B
on A.UserId=B.UserId where B.Address like@address";
这是一条相对比较好的SQl语句,
知识点一:
用到了多表查询中的左联(其实左联就是 “left outerjoin”,右联就是 “right outerjoin”, 内联就是 “inner join”
, 而全连也就可想而知 “full outer join”);
知识点二:
isnull(B.Sfzh,'还未填写')Sfzh
如果当数据库中是“FULL”时,而为了美观我们可以把前台数据为空的位置,写上相应的有意义的内容如“该内容没有注册”等。
而这句就是起到了这句作用, isnull如果为null的时候,让括号后边的东西替换前边相应的数据显示,也就是运行程序会显示“还未
填写”
知识点三:
(case B.General when 1 then '男' when 0then '女' end)性别
为了节省数据库,我们在数据库中性别存的当然是“1”和“0”,而他们运行程序显示时会是“true”和“false”,那么他是男的还
是女的呢? 所以为了避免这种笑话,我们拥有了这条Sql语句; 他的理解起来是这样的,when 当...时,then 那莫..;也就是当得到
的数据是 1 时,我们转换成“男”来显示,反之是“女”别忘了这条语句完了要协商 end表示结束;
知识点四:
就是我们知识点一提到的 各种语句各种联;
我们见到 T_user A 这就是表示 表T_user 用A代替,就像人们的外号一样;那么 A.UserId呢,就是T_user表下的User_Id;
这样一次理解应该就简单多了,然后就是 Ftom后边写上左边表+ 然后是那种连接 + 右边表 (从左往右嘛呵呵),然后就是这两个表
的练习基于什么条件联系上的呢? on A.UserId=B.UserId 这就是联系;最后就是查询的条件,where B.Address like @address
而这里用到了模糊查询大家应该了解了吧;
cmd.Parameters.AddWithValue("@address","%" + txtcontent.Text + "%");
那么为什么我们用到了这种替换的方式而不是拼接字符串呢。这个就是因为防止Sql注入了。当了解点编程的人拼出类似1=1的返回为真
true的字符串时大概所有的数据就都显示了吧。
各种Sql各种联:
混合身份登录:
Data Source=你的机器名\SQLSERVER;InitialCatalog=MyTest;Persist Security Info=True;User ID=sa;Password=yhb@163
windows登录:data source=你的机器名\SqlExpress;database=csdnnews;integratedsecurity=true
连接SQLExpress
DataSource=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;IntegratedSecurity=True;User Instance=True
还有个知识点:
//释放资源
cnn.Dispose();
内部是有关闭cnn的;所以不用在写cnn.close();