Smart Client 程序中如何实现数据访问
2008-05-03 00:21
281 查看
一 ado.net与ado
ado :[面向连接的] 1 ole-db数据源提供程序。 2 所有的数据库使用同一个Connection类。
ado.net :[ 面向无连接] 1 托管的.net数据源提供程序。 2 Connection类针对特定的数据库进行优化。
二 Connection类
SqlDataAdapter MyAdapter= new SqlDataAdapter();
SqlConnection myConnection = new SqlConnection("server=localhost;database=Northwind;integrated security=yes ");
//myConnection.ConnectionTimeout=6000; //设置连接时间,超过这个时间没连上则报超时
string str="select categoryid,categoryname,[description] from Categories"; //sql 查询串
MyAdapter.SelectCommand = new SqlCommand(str, myConnection);
MyAdapter.SelectCommand.CommandType = CommandType.Text;
DataSet ds=new DataSet();
myConnection.Open();
MyAdapter.Fill(ds);
dataGrid1.DataSource=ds.Tables[0];
//dataGrid1.DataSource=ds; //用这句代替上面一句看一下效果^_^
myConnection.Close();
注意:如果连接的是"存储过程" 修改以上红色部分为:
MyAdapter.SelectCommand = new SqlCommand("存储过程名", myConnection);
MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
三 添加表之间的关系:
在包含多个 DataTable 对象的 DataSet 中,可以使用 DataRelation 对象来使一个表与另一个表相关,在多个表之间导航,以及从相关表中返回子行或父行。默认情况下,向 DataSet 中添加 DataRelation 会将一个 UniqueConstraint 添加到父表中并将一个 ForeignKeyConstraint 添加到子表中。
以下代码示例使用 DataSet 中的两个 DataTable 对象来创建一个 DataRelation。每个 DataTable 包含一个名为 customerid 的列,它用作两个 DataTable 对象之间的链接。该示例将单个 DataRelation 添加到 DataSet 的 Relations 集合中。该示例中的第一个参数指定所创建的 DataRelation 的名称。第二个参数设置父 DataColumn,第三个参数设置子 DataColumn。
[Visual Basic]
custDS.Relations.Add("CustOrders", _
custDS.Tables("Customers").Columns("customerid"), _
custDS.Tables("Orders").Columns("customerid"))
[C#]
custDS.Relations.Add("CustOrders",
custDS.Tables["Customers"].Columns["customerid"],
custDS.Tables["Orders"].Columns["customerid"]);
四 DataView
DataView类似于Sql中的试图。
.............................
DataTable dt=ds.Tables["duty"]; //ds即为DataSet,dt为ds中的一个Datatable
DataView dv=new DataView(dt);
dv.RowFilter="日期< '2004-11-25' "; //类似与sql 中的where 子句
//如果是变量的话可以是下面红色部分:
// string dstr=System.DateTime.Now.ToString("yyyy/MM/dd");
// dv.RowFilter="日期< ' "+dstr+" ' ";
dv.Sort="日期 desc";//类似于sql 中的order 子句
My_Grid.DataSource=dv; //数据绑定
..............................
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
ado :[面向连接的] 1 ole-db数据源提供程序。 2 所有的数据库使用同一个Connection类。
ado.net :[ 面向无连接] 1 托管的.net数据源提供程序。 2 Connection类针对特定的数据库进行优化。
二 Connection类
SqlDataAdapter MyAdapter= new SqlDataAdapter();
SqlConnection myConnection = new SqlConnection("server=localhost;database=Northwind;integrated security=yes ");
//myConnection.ConnectionTimeout=6000; //设置连接时间,超过这个时间没连上则报超时
string str="select categoryid,categoryname,[description] from Categories"; //sql 查询串
MyAdapter.SelectCommand = new SqlCommand(str, myConnection);
MyAdapter.SelectCommand.CommandType = CommandType.Text;
DataSet ds=new DataSet();
myConnection.Open();
MyAdapter.Fill(ds);
dataGrid1.DataSource=ds.Tables[0];
//dataGrid1.DataSource=ds; //用这句代替上面一句看一下效果^_^
myConnection.Close();
注意:如果连接的是"存储过程" 修改以上红色部分为:
MyAdapter.SelectCommand = new SqlCommand("存储过程名", myConnection);
MyAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
三 添加表之间的关系:
在包含多个 DataTable 对象的 DataSet 中,可以使用 DataRelation 对象来使一个表与另一个表相关,在多个表之间导航,以及从相关表中返回子行或父行。默认情况下,向 DataSet 中添加 DataRelation 会将一个 UniqueConstraint 添加到父表中并将一个 ForeignKeyConstraint 添加到子表中。
以下代码示例使用 DataSet 中的两个 DataTable 对象来创建一个 DataRelation。每个 DataTable 包含一个名为 customerid 的列,它用作两个 DataTable 对象之间的链接。该示例将单个 DataRelation 添加到 DataSet 的 Relations 集合中。该示例中的第一个参数指定所创建的 DataRelation 的名称。第二个参数设置父 DataColumn,第三个参数设置子 DataColumn。
[Visual Basic]
custDS.Relations.Add("CustOrders", _
custDS.Tables("Customers").Columns("customerid"), _
custDS.Tables("Orders").Columns("customerid"))
[C#]
custDS.Relations.Add("CustOrders",
custDS.Tables["Customers"].Columns["customerid"],
custDS.Tables["Orders"].Columns["customerid"]);
四 DataView
DataView类似于Sql中的试图。
.............................
DataTable dt=ds.Tables["duty"]; //ds即为DataSet,dt为ds中的一个Datatable
DataView dv=new DataView(dt);
dv.RowFilter="日期< '2004-11-25' "; //类似与sql 中的where 子句
//如果是变量的话可以是下面红色部分:
// string dstr=System.DateTime.Now.ToString("yyyy/MM/dd");
// dv.RowFilter="日期< ' "+dstr+" ' ";
dv.Sort="日期 desc";//类似于sql 中的order 子句
My_Grid.DataSource=dv; //数据绑定
..............................
文章来源于 http://www.cnblogs.com/zhangzs8896 版权归原作者所有
相关文章推荐
- [转]如何优化 SQL Server 数据访问程序
- 抽象工厂模式+反射+配置文件 实现数据访问程序
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- JAVA Eclipse创建Android程序如何实现MainActivity和Fragment相互传递数据
- servlet 定时操作,定时访问数据库,程序应该如何实现
- ios 中如何实现程序内访问其他程序
- 数据访问(如何实现 - C#)演练:创建简单的数据应用程序
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- Smart Client 程序中如何实现数据访问
- 如何在Java程序中访问mysql数据库中的数据并进行简单的操作
- 如何在C#中实现OPC数据访问
- 多个C程序如何访问(共享)同一变量(数据)?
- 如何在C程序中访问文本文档,并读取数据
- 如何在原生微信小程序中实现数据双向绑定
- 如何在原生微信小程序中实现数据双向绑定欢迎使用CSDN-markdown编辑器
- 如何在原生的微信小程序中实现数据双向绑定
- 如何实现在ARM开发板对Postgresql服务器的远程访问,有C程序,(mini6410,mini2440,tq2440)
- 用反射+配置文件实现数据访问程序
- 微信小程序如何访问服务器上的数据?
- JAVA Eclipse创建Android程序如何实现MainActivity和Fragment相互传递数据