Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 1:35:21
ADO.NET链接数据库DataAdapter对象应用实例

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);


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759