知识积累-数据库操作

1.数据库查询数据读取

datareader.HasRows 只是检则库中是否有记录,如果有则返回true,还得再用read()读取.如果没有记录则返回false。
datareader.read()为从数据开头往后读,如果库中已读到结尾了(可能没有记录)则返回false,如果用在if中,则会自动读出一条,else里则不必再用read(),如果有while(含有read()条件),则自动从第二条开始往下读。
SqlCommand winccXCmd

ss1 = true;
                ss = "";
                ss2 = "";
                string sql1;
                SqlDataReader dbReader;
                for (int Numer1 = 7; Numer1 < 25; Numer1++)
                {

                     vstemp = 字段.Substring(Numer1 - 1, 1);
                     sql1 = "SELECT TypeName FROM [数据库].[dbo].[表名] WHERE  ";
                        sql1 += " [字段]=" +Numer1 ;
                        sql1 += " AND [字段]=" + vstemp;
                        winccXCmd.CommandText = sql1;
                        dbReader = winccXCmd.ExecuteReader();
                        if (dbReader.HasRows)
                        {
                                while (dbReader.Read())
                            {
                               
                                ss = dbReader["字段"].ToString();

                                ss2 += ss+" ";
     
                            }
                            dbReader.Close();
                            dbReader.Dispose();
                        }
                        else
                        {
                            ss1 = dbReader.HasRows;
                            break;
                        }
                       
                }

2.LINQ

2.1.LINQ查询表达式

约束 Linq查询表达式必须以from子句开头,以select或group子句介绍
关键字 功能
from...in... 指定要查询的数据源以及范围变量,多个from子句则表示从多个数据源查找数据。注意:C#编译器会把"复合from子句"的查询表达式转换为SelectMany()扩展方法。
join...in...on...equals... 指定多个数据源的关联方式
let 引入用于存储查询表达式中子表达式结果的范围变量。通常能达到层次感会更好,使代码更易于阅读。
orderby、descending 指定元素的排序字段和排序方式。当有多个排序字段时,由字段顺序确定主次关系,可指定升序和降序两种排序方式
where 指定元素的筛选条件。多个where语句则表示了并列条件,必须全部都满足才能入选。每个where子句可以使用谓词&&、||连接多个条件表达式。
group 指定元素的分组字段
select 指定查询要返回的目标数据,可以指定任何类型,甚至是匿名类型。(目前通常被指定为匿名类型)
into 提供一个临时的标识符。该标识可以引用join、group和select子句的结果。1.直接出现在join子句之后的into关键字会被翻译为GroupJoin。(into之前的查询变量可以继续使用) 2.select或group子句之后的into它会重新开始一个查询,让我们可以继续引入where,orderby和select子句,它是对分步构建查询表达式的一种简写方式。(into之前的查询变量都不可再使用)
posted @ 2023-01-11 09:02  吱昂張OvO  阅读(49)  评论(0)    收藏  举报