1. 程式人生 > >直接將datatable插入資料庫中

直接將datatable插入資料庫中

public bool AddDataTableToDB(DataTable source,string tableName)
        {
            SqlTransaction tran = null;//宣告一個事務物件  
            try
            {
                using (SqlConnection conn = new SqlConnection(@"server=.;uid=sa;pwd=123456;database=UH1;"))
                {
                    conn.Open();//開啟連結  
                    using (tran = conn.BeginTransaction())
                    {
                        using (SqlBulkCopy copy = new SqlBulkCopy(conn, SqlBulkCopyOptions.Default, tran))
                        {
                            copy.DestinationTableName = tableName;           //指定伺服器上目標表的名稱


                            #region 進行欄位對映
                            if (tableName == "SYS_ClassRoom")
                            {
                                copy.ColumnMappings.Add("ClassRoomNo", "ClassRoomNo");
                                copy.ColumnMappings.Add("ClassRoomName", "ClassRoomName");
                                copy.ColumnMappings.Add("ClassID", "ClassID");
                                copy.ColumnMappings.Add("ClassName", "ClassName");
                                copy.ColumnMappings.Add("UserID", "UserID");
                                copy.ColumnMappings.Add("LoginName", "LoginName");
                                copy.ColumnMappings.Add("ClassRoomAdd", "ClassRoomAdd");
                                copy.ColumnMappings.Add("ClassRoomType", "ClassRoomType");
                                copy.ColumnMappings.Add("IsAccess", "IsAccess");
                                copy.ColumnMappings.Add("Capacity", "Capacity");
                                copy.ColumnMappings.Add("SecurityLeve", "SecurityLeve");
                                copy.ColumnMappings.Add("XCount", "XCount");
                                copy.ColumnMappings.Add("ycount", "ycount");
                                copy.ColumnMappings.Add("CreateStaff", "CreateStaff");
                                copy.ColumnMappings.Add("CreateDate", "CreateDate");
                            }
                            else if (tableName == "")
                            {
 
                            }
                            #endregion


                            copy.WriteToServer(source);                      //執行把DataTable中的資料寫入DB  
                            tran.Commit();                                      //提交事務  
                            return true;                                        //返回True 執行成功!  
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                if (null != tran)
                    tran.Rollback();
                return false;//返回False 執行失敗!  
            }

        }

其中#region標註處不能刪除,因為當欄位中有smalldatetime等屬性時會出錯。(我就是smalldatetime影響,其他屬性會不會影響不知道)

相關推薦

直接datatable插入資料庫

public bool AddDataTableToDB(DataTable source,string tableName)         {             SqlTransaction tran = null;//宣告一個事務物件              

python通過下載連結可以下載成excel,直接資料寫入資料庫

from urllib.request import urlopen import sys import datetime import psycopg2 import os # 用來操作資料庫的類 class GPCommand(object): # 類的初始化 def

datatable 插入資料庫

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient;

直接DataTable存入oracle數據庫(轉)

cat logs 添加 apt bsp tar lse sql 默認 註意 1:傳入的DataTable的列必須和數據庫中表列必須一致,否則數據會默認往前幾列存 2:sql語句只要是對要插入的表的一個查詢,目的是為了確定表名 3:取得連接字符串的

從新增mysql的odbc驅動到powerDesigner表結構直接匯入到mysql資料庫,再到資料庫錶轉化為powerDesigner的表結構

一、首先要在powerDesigner中新增mysql的odbc的資料來源連線驅動:地址如下 根據自己的系統選擇,注意這裡要選擇32位的, 然後選擇 之後進行安裝,之後你發現在powerDesigner中還是找不到mysql的odbc的驅動,為什麼那?因為還

python3插入資料庫,如果資料存在引號的解決方案

這裡判斷了是否傳進來的是list還是str,然後將在有引號的位置新增上引號 def escape_character(string): script = ‘’ if type(string) == type([]): script_tmp = “,”.join(string) else:

已有一個已排好的9個元素的陣列,今輸入一個數要求按原來排序的規律插入陣列

import java.util.Scanner; public class Main {     public static void main(String[] args) {       &n

Text資料型別,引數化查詢但未提供該引數(null插入資料庫

當你是使用引數化查詢時為引數賦時,比如command.Parameters.Add(@a,SqlDbType.Text,30).Value=a;當a=null是將報錯: 錯引數化查詢 '(@a varchar(100)....' 需要引數 '@a',但未提供該引數 只是因為你給a的為null,

C語言有一個已經排好序的陣列,要求輸入一個數後,按原來的排序規律插入陣列

#include<stdio.h> int main() { int a[8]={1,3,5,7,9,11,13},i,j,t,k; scanf("%d",&t); for(i=1;i<8;i++) { if(t>a[i-1]&am

解決jsp插入資料庫的資料出現亂碼問題

一般在jsp頁面中新增下面三句 基本可以解決亂碼問題,注意 前後臺 資料庫 編碼一致 <%@   page   contentType="text/html;charset=utf-8"   %>      <%@ page   pageEncoding

有一個已經排好序的陣列。現輸入一個數,要求按原來的規律插入陣列

首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後此元素之後的數,依次後移一個位置。 import java.util.Scanner; public class test30{ public static void main(String[

ACMNO.20 C語言-插入佇列 已有一個已排好的9個元素的陣列,今輸入一個數要求按原來排序的規律插入陣列。 輸入 第一行,原始數列。 第二行,需要插入的數字。

題目描述 已有一個已排好的9個元素的陣列,今輸入一個數要求按原來排序的規律將它插入陣列中。 輸入 第一行,原始數列。 第二行,需要插入的數字。 輸出 排序後的數列 樣例輸入 1 7 8 17 23 24 59 62 101 50 樣例輸出 1

獲取剛插入資料庫的資訊的序列號

根據資料庫正規化,每個表都應該有一個主鍵來唯一標識每個行。一般使用自增序列填充這個主鍵。 oracle有資料庫提供的sequence,mysql是啥暫時沒注意。 自增序列可以使用資料庫提供的序列方法,也可以在自己的程式碼中插入。只要能得到不重複的序列值就可以。手動擼還可以實

已有一個排好序的陣列,今輸入一個數,要求按原來排序的規律插入陣列

先來看看以下程式碼,這是其他博友的思路,這程式碼看似沒有問題,其實存在很大的BUG,當插入的目標比str[0]更小的時候就會出錯。相信仔細的人就很容易發現問題。 #include<stdio.h> int main() { int str[100]={1,3,4,5,6,7

ExamApp總結(四)資料從資料庫進行存取

CrimeLab.java private static ContentValues getContentValues(Crime crime){ ContentValues values=new ContentValues(); va

mybatis。插入語句如何插入資料庫某一欄位最大值(純sql實現)

<insert id="inserts"> <selectKey keyProperty="ID" ORDER="BEFORE" resultType="java.lang.I

如何圖片插入資料庫

         如何將圖片,Mp3 ,或是一些二進位制型別的資料插入到sqlserver,或是 Oracle 資料庫 . 方法是通過流進行操作. 建立一張測試表(sqlserver2000) createtable[pictable] (    [id][int]iden

C語言——例項039 有一個已經排好序的陣列。現輸入一個數,要求按原來的規律插入陣列

第一個程式:有bug,但沒發現 /* Name: Copyright: Author: Date: 31/07/17 11:42 Description: 【程式39】題目:

有一個已經排好序的陣列,今輸入一個數,要求按原來排序的規律插入陣列

方法一:#include<stdio.h> int main() { int a[11]={1,4,7,9,23,34,56,65,67,89}; int number,end=0,i=0,j=0,t1=0,t2=0; scanf("%d",&nu

讀取xml檔案,並其存入資料庫

import java.io.*; import javax.xml.parsers.*; import org.xml.sax.*; import org.w3c.dom.*; public class DOMDemo {  public static void main