All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
ADO.NET链接数据库DataAdapter对象应用实例

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 1:35:21 Browse times: 286 Comment times: 0

ADO.NET链接数据库DataAdapter对象应用实例


Head photo

Go homepage
Upload pictures
Write articles

ADO.NET链接数据库DataAdapter对象应用实例

DataAdapter对象
SqlDataAdapter对象是DataSet对象和SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter对象通过对数据源使用适当的Transact-SQL语句映像Fill方法(它可更改DataSet对象中的数据以匹配数据源中的数据)和Update方法(它可更改数据源中的数据以匹配DataSet对象中的数据)来提供这一桥接。当SqlDataAdapter对象填充DataSet对象时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。但是,除非将MissingSchemaAction属性设置为AddWithKey,否则这个隐式创建的架构中不包括主键信息。用户也可以使用FillSchema方法,让SqlDataAdapter对象创建DataSet对象的架构,并在用数据填充它之前就将主键信息包含进去。
SqlDataAdapter对象常用属性及描述如表1所示。

表1 SqlDataAdapter的属性及描述
下面介绍几个主要的属性。
(1)DeleteCommand属性。获取或设置一个Transact-SQL语句或存储过程,用以从数据集删除记录。
语法:
public SqlCommand DeleteCommand { get; set; }
属性值:在Update过程中使用SqlCommand对象,用以在数据库中删除对应于DataSet对象中已删除行的记录。
示例
为SqlDataAdapter对象指定DeleteCommand属性,程序代码如下:
adapter.DeleteCommand = command;
(2)InsertCommand属性。获取或设置一个Transact-SQL语句或存储过程,用以在数据源中插入新记录。
语法:
public SqlCommand InsertCommand { get; set; }
属性值:在Update过程中使用SqlCommand对象,用以在数据库中插入对应于DataSet对象中的新的一行行记录。
示例
为SqlDataAdapter对象指定InsertCommand属性,程序代码如下:
adapter. InsertCommand= command;
(3)SelectCommand属性。获取或设置一个Transact-SQL语句或存储过程,用于在数据源中选择记录。
语法:
public SqlCommand SelectCommand { get; set; }
属性值:在Fill过程中使用的SqlCommand对象,用来从数据库中为DataSet对象中的位置选择记录。
示例
为SqlDataAdapter对象指定SelectCommand属性,程序代码如下:
adapter.InsertCommand= command;
(4)UpdateCommand属性。获取或设置一个Transact-SQL语句或存储过程,用于更新数据源中的记录。
语法:
public SqlCommand UpdateCommand { get; set; }
属性值:在Update过程中使用的SqlCommand对象,用于在数据库中更新对应于DataSet对象中已修改行的记录。
示例
为SqlDataAdapter对象指定UpdateCommand属性,程序代码如下:
adapter.UpdateCommand= command;
示例
DataAdapter对象以及属性的应用
当用户编写完一条SQL语句后,通过IndexOf方法可以获得用户SQL语句要实现的功能。然后调用相应的方法返回DataAdapter对象。程序代码如下。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace 21_05
{
public partial class Form1 : Form
{
SqlDataAdapter da;
public Form1()
{
InitializeComponent();
}
……编写其他方法或事件
}
}
首先通过单击【适配器】按钮生成SQL语句,然后对SQL语句进行判断(判断是哪种操作,例如,添加、修改、删除、查询),最后根据判断结果调用相应的方法,程序代码如下。
private void button2_Click(object sender, EventArgs e)
{
ClsDB cb = new ClsDB();
DataTable dt=new DataTable("Resouce");
if (this.textBox1.Text.Trim().ToString() != "")
{
string strSql = this.textBox1.Text.Trim().ToString();
if (strSql.IndexOf("insert") != -1)
{
da = CreateInsAdapter(strSql, cb.Conn());
}
else if (strSql.IndexOf("update") != -1)
{
da = CreateUpdAdapter(strSql, cb.Conn());
}
else if (strSql.IndexOf("select") != -1)
{
da = CreateSelAdapter(strSql, cb.Conn());
}
else if (strSql.IndexOf("delete") != -1)
{
da = CreateDelAdapter(strSql, cb.Conn());
}
else
{
MessageBox.Show("SQL语句不合法");
this.textBox1.Select(0, this.textBox1.Text.Length);
this.textBox1.Focus();
return;
}
}
try
{
da.Fill(dt);





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.