数据库的管理

来源:互联网 发布:数据库中设置主键 编辑:程序博客网 时间:2024/05/21 14:57

1  数据的查找方法:一是根据数据适配器填充数据集;二是通过Command对象和DataReader对象;如果不需要对数据进行编辑或者修改,应使用Command与DataReader对象,其查找效率比较高。

2  DataTable tb;  DataRow row = tb.NewRow();  row[""] = 初值; tb.Rows.Add(row);row 结构与tb结构相同;在对数据表添加数据时,必须要加查插入的数据与表中的原有数据在主码列是否冲突,且主码列必须不能为空,否则异常;

3  DataColumn dc = new DataColumn(); dc.DataType = System.Type.GetType("System.String");

dc.ColumnName("ColName");dc.AutoIncrement = false; dc.Expression = "列1+列2";tb.Columns.Add(dc);

4 (1) Find 方法只能查找主码的值,因此在用DataAdapter的Fill方法对DataSet填充之后,必须设定一个主码值。格式:ds.Tables["tableName"].PrimaryKey = new DataColumn[]{ds.Tables["tableName"].Columns["ColName"]};

  (2)循环查找:

     foreach(DataRow row in ds.Tables["tableName"].Rows)

      if(row["colName"].ToString().Trim() == "colValue")

         {}

  (3)DataTable 的select查询:

    DataRow[] row;

    row = ds.Tables["TableName"].Select("列名=ColValue","排序方法,eg:grade desc");

5  (1)insert into TableName(ColName1,ColName2,……) values("","",……)

       通常把SQL语句写到Command对象的CommandText属性中加以实现。

   (2)Remove与RemoveAt方法从DataRowCollection中删除DataRow,该行从表中完全删除,  但DataAdapter不会在数据源中删除该行。

6   DataView提供基础DataTable中的数据的动态视图:内容、排序和成员关系会实时反映其更改。DataView的动态功能使其成为数据绑定应用的理想选择。

    RowFilter属性中比较字符串的值应当放在单引号内;eg:DataView.RowFilter = "cno = '001'";

    在LIKE比较中,使用通配符*或者%进行筛选;eg:DataView.RowFilter = "sname LIKE '张*'";

    使用日期,日期值应放在磅符号(#)内。eg:DataView.RowFilter = "Birthdate<#2/21/88#"

    支持聚合类型:Sum,Avg,Min,Max,Count,StDev(统计标准偏差),Var(统计方差);eg:DataView.RowFilter = "Avg(age)>80";

    通过在列名前加parent或child,引用父表或子表。eg:Avg(child.grade);

    支持CONVERT(将数据转化为指定类型),LEN,ISNULL,IIF(根据逻辑表达式的结果,获取两个值之一),TRIM,SUBSTRING函数。eg:DataView.RowFilter = "LEN(sname)=6";

    特殊字符位于列名中时必须进行转义,如果列名中包含/t,(,),/,/,=,<,>,+,-,*,^,",',[,],~,#,|,&,%则必须用中括号括起来。eg:列名为Column#,应写为[Column#];列名包括中括号,必须使用斜杠进行转义,eg:列名为Column[]的列应写为[Column[/]](只有第二个中括号必须转义)。

   在字符串的中间不允许时用通配符,eg:不允许DataView.RowFilter = "sname = '张%山'";