日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OleDbDataAdapter 插入记录

發布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OleDbDataAdapter 插入记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DataSet 中所作的更改發回數據源。

  當 OleDbDataAdapter 填充 DataSet 時,它將為返回的數據創建適當的表和列(如果它們尚不存在)。但是,除非 MissingSchemaAction 屬性設置為 AddWithKey,否則這個隱式創建的架構中不包括主鍵信息。也可以使用 FillSchema,讓 OleDbDataAdapter 創建 DataSet 的架構,并在用數據填充它之前就將主鍵信息包括進去。有關更多信息,請參見 向 DataSet 添加現有約束。

  請注意,包括 MSDataShape 提供程序在內的某些 OLE DB 提供程序并不返回基表或主鍵信息。因此,OleDbDataAdapter 無法對任何已創建的 DataTable 正確設置 PrimaryKey 屬性。在這些情況下,應該為 DataSet 中的表顯式地指定主鍵。

  OleDbDataAdapter 還包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 屬性,以便于數據的加載和更新。

  當創建 OleDbDataAdapter 的實例時,屬性都設置為其初始值。有關這些值的列表,請參見 OleDbDataAdapter 構造函數。

  OleDbDataAdapter 充當 DataSet 和數據源之間的橋梁,用于檢索和保存數據。OleDbDataAdapter 通過以下方法提供這個橋接器:使用 Fill 將數據從數據源加載到 DataSet 中,并使用 Update 將 DataSet 中所作的更改發回數據源。

  當 OleDbDataAdapter 填充 DataSet 時,它將為返回的數據創建適當的表和列(如果它們尚不存在)。但是,除非 MissingSchemaAction 屬性設置為 AddWithKey,否則這個隱式創建的架構中不包括主鍵信息。也可以使用 FillSchema,讓 OleDbDataAdapter 創建 DataSet 的架構,并在用數據填充它之前就將主鍵信息包括進去。

  請注意,包括 MSDataShape 提供程序在內的某些 OLE DB 提供程序并不返回基表或主鍵信息。因此,OleDbDataAdapter 無法對任何已創建的 DataTable 正確設置 PrimaryKey 屬性。在這些情況下,應該為 DataSet 中的表顯式地指定主鍵。

  OleDbDataAdapter 還包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 屬性,以便于數據的加載和更新。

public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
??? OleDbConnection connection)
{
??? OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);

??? adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

??? // Create the Insert, Update and Delete commands.
??? adapter.InsertCommand = new OleDbCommand(
??????? "INSERT INTO Customers (CustomerID, CompanyName) " +
??????? "VALUES (?, ?)");

??? adapter.UpdateCommand = new OleDbCommand(
??????? "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
??????? "WHERE CustomerID = ?");

??? adapter.DeleteCommand = new OleDbCommand(
??????? "DELETE FROM Customers WHERE CustomerID = ?");

??? // Create the parameters.
??? adapter.InsertCommand.Parameters.Add("@CustomerID",
??????? OleDbType.Char, 5, "CustomerID");
??? adapter.InsertCommand.Parameters.Add("@CompanyName",
??????? OleDbType.VarChar, 40, "CompanyName");

??? adapter.UpdateCommand.Parameters.Add("@CustomerID",
??????? OleDbType.Char, 5, "CustomerID");
??? adapter.UpdateCommand.Parameters.Add("@CompanyName",
??????? OleDbType.VarChar, 40, "CompanyName");
??? adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
??????? OleDbType.Char, 5, "CustomerID").SourceVersion =
??????? DataRowVersion.Original;

??? adapter.DeleteCommand.Parameters.Add("@CustomerID",
??????? OleDbType.Char, 5, "CustomerID").SourceVersion =
??????? DataRowVersion.Original;

??? return adapter;
}


using System;
using System.Data;
using System.Data.OleDb;

class Class1
{
??? static void Main()
??? {
??? }

??? public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
??????? OleDbConnection connection)
??? {
??????? OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);

??????? adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

??????? // Create the Insert, Update and Delete commands.
??????? adapter.InsertCommand = new OleDbCommand(
??????????? "INSERT INTO Customers (CustomerID, CompanyName) " +
??????????? "VALUES (?, ?)");

??????? adapter.UpdateCommand = new OleDbCommand(
??????????? "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
??????????? "WHERE CustomerID = ?");

??????? adapter.DeleteCommand = new OleDbCommand(
??????????? "DELETE FROM Customers WHERE CustomerID = ?");

??????? // Create the parameters.
??????? adapter.InsertCommand.Parameters.Add("@CustomerID",
??????????? OleDbType.Char, 5, "CustomerID");
??????? adapter.InsertCommand.Parameters.Add("@CompanyName",
??????????? OleDbType.VarChar, 40, "CompanyName");

??????? adapter.UpdateCommand.Parameters.Add("@CustomerID",
??????????? OleDbType.Char, 5, "CustomerID");
??????? adapter.UpdateCommand.Parameters.Add("@CompanyName",
??????????? OleDbType.VarChar, 40, "CompanyName");
??????? adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
??????????? OleDbType.Char, 5, "CustomerID").SourceVersion =
??????????? DataRowVersion.Original;

??????? adapter.DeleteCommand.Parameters.Add("@CustomerID",
??????????? OleDbType.Char, 5, "CustomerID").SourceVersion =
??????????? DataRowVersion.Original;

??????? return adapter;
??? }

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的OleDbDataAdapter 插入记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。