DataSet批量更新数据库

Jun 07, 2016 pm 03:06 PM
dataset 仕事 バッチ データベース 更新する

业务需要从一个数据库复制数据到另一个数据库。当然可以一条一条的复制,但是两个数据库的表结构相同,通过操作DataSet批量复制数据到另一个数据库,不管从开发效率还是执行效率上来说是不是更好一些呢。 需要注意的点,如下: 1、数据库中必须有主键,这样

     业务需要从一个数据库复制数据到另一个数据库。当然可以一条一条的复制,但是两个数据库的表结构相同,通过操作DataSet批量复制数据到另一个数据库,不管从开发效率还是执行效率上来说是不是更好一些呢。

    需要注意的点,如下:

1、数据库中必须有主键,这样才便于增删改查;

2、SqlDataAdapter必须放在SqlCommandBuilder中,以用于批量执行DataSet中的修改;

3、修改后的DataSet需执行AcceptChanges()方法后,才能更新DataSet,以便于下一步操作;

4、SqlDataAdapter执行Update的数据库不一定是Fill的数据库,只要表结构相同即可。

示例代码如下:

        public void CopyData(DataSet ds, string conString, string sql, string tableName)
        {
            SqlConnection conn = new SqlConnection(conString);

            try
            {
                conn.Open();
                SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
                SqlCommandBuilder cb = new SqlCommandBuilder(ada);

                DataSet destDataSet = new DataSet();
                ada.Fill(destDataSet, tableName);

                //Delete Rows
                foreach (DataRow item in destDataSet.Tables["Pattern"].Rows)
                {
                    item.Delete();
                }
                DataTable dt = null;

                dt = destDataSet.Tables["Pattern"].GetChanges();
                if (dt != null)
                {
                    ada.Update(dt);
                }

                //Insert Rows
                foreach (DataRow item in ds.Tables["Pattern"].Rows)
                {
                    item.SetAdded();
                }
                dt = ds.Tables["Pattern"].GetChanges();
                if (dt != null)
                {
                    ada.Update(dt);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
            }
        }
ログイン後にコピー

 这是一个复制数据库的方法,功能为删除掉原有数据库中的数据,然后根据传过来的DataSet,把DataSet中的数据更新到数据库中。

这只是一个小例子,有不当的地方,希望大家讨论指正。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows は指定されたデバイス、パス、またはファイルにアクセスできません Windows は指定されたデバイス、パス、またはファイルにアクセスできません Jun 18, 2024 pm 04:49 PM

友人のコンピュータにはこのような障害があり、「この PC」と C ドライブのファイルを開くと、「Explorer.EXE Windows は指定されたデバイス、パス、またはファイルにアクセスできません。プロジェクトにアクセスするための適切な権限がない可能性があります。」と表示されます。フォルダ、ファイル、このコンピュータ、ごみ箱などを含め、ダブルクリックするとこのようなウィンドウが表示されますが、通常は右クリックで開きます。システムのアップデートが原因でこの状況が発生した場合は、以下のエディターで解決方法を説明します。 1. レジストリ エディターを開いて Win+R と入力し、「regedit」と入力するか、スタート メニューを右クリックして実行し、「regedit」と入力します。 2. レジストリ「Computer\HKEY_CLASSES_ROOT\PackagedCom\ClassInd」を見つけます。

Go 言語はデータベースの追加、削除、変更、クエリ操作をどのように実装しますか? Go 言語はデータベースの追加、削除、変更、クエリ操作をどのように実装しますか? Mar 27, 2024 pm 09:39 PM

Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

Windows が更新を永久に一時停止し、Windows が自動更新をオフにする Windows が更新を永久に一時停止し、Windows が自動更新をオフにする Jun 18, 2024 pm 07:04 PM

Windows アップデートにより、次の問題が発生する可能性があります。 1. 互換性の問題: 一部のアプリケーション、ドライバー、またはハードウェア デバイスは、新しい Windows アップデートと互換性がなく、適切に動作しなかったり、クラッシュしたりする可能性があります。 2. パフォーマンスの問題: Windows アップデートにより、システムが遅くなったり、パフォーマンスが低下したりする場合があります。これは、新機能または改善により、実行するためにより多くのリソースが必要になることが原因である可能性があります。 3. システムの安定性の問題: 一部のユーザーは、Windows 更新プログラムをインストールした後、システムで予期しないクラッシュやブルー スクリーン エラーが発生する可能性があると報告しました。 4. データ損失: まれに、Windows アップデートによりデータ損失やファイル破損が発生する場合があります。このため、重要な更新を行う前に、バックアップを作成してください。

TikTokを最新バージョンにアップデートする方法 TikTokを最新バージョンにアップデートする方法 Mar 27, 2024 am 11:06 AM

1. Douyin アプリを開き、右下の [Me] をクリックし、右上の [Three Stripes] アイコンをクリックします。 2. [設定]を選択し、クリックして設定インターフェイスに入り、[一般設定]を見つけてクリックします。 3. 一般設定インターフェイスをプルダウンし、[アップデートの確認] を見つけてクリックします。 4. ユーザーが現在使用しているバージョンが最新バージョンでない場合は、新しいバージョンへのアップデートを促すメッセージが表示されますので、[アップグレード]をクリックします。 5. インストールパッケージがダウンロードされるまで待ちます(自動的にインストールされます) [インストールを続行] をクリックします。 6. 現在のバージョンがすでに最新バージョンである場合は、「利用可能な更新バージョンがありません」というプロンプトが表示されます。

Hibernate はポリモーフィック マッピングをどのように実装しますか? Hibernate はポリモーフィック マッピングをどのように実装しますか? Apr 17, 2024 pm 12:09 PM

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

AMD、Zen 2 プロセッサに影響を与える Zenbleed の脆弱性を修正する新しい AGESA ファームウェア アップデートをリリース AMD、Zen 2 プロセッサに影響を与える Zenbleed の脆弱性を修正する新しい AGESA ファームウェア アップデートをリリース May 03, 2024 pm 04:31 PM

5 月 3 日のこのサイトのニュースによると、MSI は本日、AMD Ryzen4000 シリーズ Zen2 APU の Zenbleed セキュリティ脆弱性を修正する AMDAM4AGESA1.2.0.Ca ファームウェア アップデートをリリースしました。今回MSIがリリースしたファームウェアアップデートは、ほぼすべてのX570マザーボードに適しており、主にAMDが中程度の脅威に分類しているZen2プロセッサのCVE-2023-20593を修正している。このサイトからのメモ: 脆弱性追跡番号は CVE-2023-20593 で、コアあたり 1 秒あたり 30 KB の速度で機密データを盗む可能性があります。この攻撃は、仮想マシン、サンドボックス、コンテナ、プロセスなど、CPU 上で実行されているすべてのソフトウェアに影響します。 AGESA1.2.0.Caの目的ですが

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

See all articles