精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Access數據庫Insert多條數據的嘗試

數據庫 其他數據庫
當下Access數據庫可能要被遺忘了!比較這個輕量級數據庫被精簡了許多功能,個人感覺用起來還是挺麻煩的!當前Access在企業項目中就是一塊雞肋。數據量小使用SQL Server是浪費,既然選擇了Access就別抱怨了!如果用好了還是一塊寶!廢話不多說了,今天就來探討下如何向Access中插入多條數據把!

由于在此之前我沒有用過Access數據庫的,當需要想數據庫中插入多條數據時,我們不妨先按照sql server的做法:“insert into tablename(column1,column2) values (a,b),(c,d),(e,f)”。于是按照這個思路,我的第一個方案出來了。

嘗試一

The Demo:

  1. StringBuilder BuiList = new StringBuilder(string.Format("({0},0)", UserID));  
  2.             foreach (RepeaterItem item in Rpt_AdminRole.Items)  
  3.             {  
  4.                 if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)  
  5.                 {  
  6.                     HtmlInputCheckBox cbRole = item.FindControl("cb_Role"as HtmlInputCheckBox;  
  7.                     if (cbRole.Checked)  
  8.                     {  
  9.                         BuiList.Append(",(");  
  10.                         BuiList.Append(UserID);  
  11.                         BuiList.Append(",");  
  12.                         BuiList.Append(cbRole.Value);  
  13.                         BuiList.Append(")");  
  14.                     }  
  15.                 }  
  16.             } 

The Dal:

  1. /// <summary>  
  2. /// 添加Role關系  
  3. /// </summary>  
  4. /// <param name="roleContact">角色關系 eg: "(1,1),(1,2)"</param>  
  5. /// <returns></returns>  
  6. public static int InsertRoleContact(string roleContact)  
  7. {  
  8.     string sql = "insert into Sky_Admin_Role(AdminID,RoleID) values "+roleContact;  
  9.     return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, sql, null);  

exec下就會出現這樣的錯誤:SQL 語句的結束位置缺少分號 (;)。

Access對sql的支持果然是大大精簡,到此嘗試一失敗!, 很快在我有另外idea。sql server 多表查詢對select table 的支持!我可以直接傳一個DataTable到sql語句中,說干就干!

嘗試二

The Demo : 獲取DataTable

  1. public DataTable GetInsertSQL(Repeater rep,string controlID)  
  2. {  
  3.     DataTable data = new DataTable();  
  4.     data.Columns.Add("AdminID");  
  5.     data.Columns.Add("RoleID");  
  6.     foreach (RepeaterItem item in rep.Items)  
  7.     {  
  8.         if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)  
  9.         {  
  10.             HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox;  
  11.             if (cb.Checked)  
  12.             {  
  13.                 DataRow row = data.NewRow();  
  14.                 row.ItemArray = new object[] { UserID, cb.Value};  
  15.                 data.Rows.Add(row);  
  16.             }  
  17.         }  
  18.     }  
  19.     return data;  

The Dal:

  1. public static int InsertRoleContact(DataTable dt)  
  2.         {  
  3.             string sql = "insert into Sky_Admin_Role(AdminID,RoleID) select * from @Data";  
  4.             OleDbParameter[] param = new OleDbParameter[] {   
  5.             new OleDbParameter("@Data",?){Value =dt}  
  6.             };  
  7.             return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, sql, param);  
  8.         } 

當代碼到這里我就知道此方法行不通,因為OledbType中沒有對應的table類型,如果是SQL server由于支持xml可以設置為 SqlDbType.Xml類型來傳遞DataTable數據,由于sql本事對xml的支持 ,可以用sql基于xml的查詢,本文主要討論Access,此處暫不討論了!嘗試二宣布失敗!。接下來我又想到了零時表,Access是不是也支持零時表的查詢呢?

嘗試三

The Demo: 取出我想要的數據格式 (1,2,3)

  1. public string GetInserCollection(Repeater rep, string controlID)  
  2. {  
  3.     StringBuilder buiCollecton = new StringBuilder("");  
  4.     buiCollecton.Append("(0");  
  5.     foreach (RepeaterItem item in rep.Items)  
  6.     {  
  7.         if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)  
  8.         {  
  9.             HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox;  
  10.             if (cb.Checked)  
  11.             {  
  12.                 buiCollecton.Append(string.Format(",{0}", cb.Value));  
  13.             }  
  14.         }  
  15.     }  
  16.     buiCollecton.Append(")");  
  17.     return buiCollecton.ToString();  

The Dal

  1. public static int InsertRoleContact(int UserID,string RoleCollection)  
  2.         {  
  3.             StringBuilder BuiSQL = new StringBuilder("");  
  4.             BuiSQL.Append("declare @SkyContact table(userID int,roleID int);");  
  5.             BuiSQL.Append("insert into @SkyContact values select " + UserID + ",R_ID from Sky_Role;");  
  6.             BuiSQL.Append(string.Format("insert into Sky_Admin_Role values (select * from @SkyContact where roleID in {0})",RoleCollection));  
  7.             return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuiSQL.ToString(), null);  
  8.         } 

這里模仿SQL Server中定義一個零時表,然后向其中插入盡可能全的數據,然后在基于零時表查詢出想要的數據放入到我想要的數據中執行!exec下結果又出問錯了!此處拋出這樣的錯誤:無效的 SQL語句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。其實會出錯完全可以想想的到,畢竟Access中連insert into table values (1,2),(1,3) 這樣的語句都不支持。此時嘗試三也不得不宣告失敗!嘗試了這么多,我不得不使用早就準備用的方法 多條insert一起執行。

嘗試四

The Demo: 先獲取我想要的數據形式 :1,2,3 此處略。看sql:

  1. public static int InsertRoleContact2(int UserID, string RoleCollection)  
  2.         {  
  3.             string[] arr = RoleCollection.Split(',');  
  4.             StringBuilder BuilSQL = new StringBuilder("");  
  5.             foreach (string item in arr)  
  6.             {  
  7.                 BuilSQL.Append(string.Format("insert into Sky_Admin_Role(AdminID,RoleID) values ({0},{1});",UserID,Convert.ToInt32(item)));  
  8.             }  
  9.             return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuilSQL.ToString(), null);  
  10.         } 

執行下結果打出我的意外:在 SQL 語句結尾之后找到字符。 竟然連這種語句都不支持,沒相當Access會對數據支持的這么少。既然這樣也不行,難道只有循環執行每一天SQL語句嗎?我看可行!循環是必要的,只要不多次連接數據庫,也不會占用太多資源的,此時引出了我的本文的重點,如何向Access中插入多條記錄。

嘗試五

The Demo:

  1. public static void InsertMultipleSQL(int UserID,string RoleCollection)  
  2.        {  
  3.            string[] arr = RoleCollection.Split(',');  
  4.            using (OleDbConnection conn = new OleDbConnection(Common.config.AccessConnStr))  
  5.            {  
  6.                OleDbCommand cmd = conn.CreateCommand();  
  7.                OleDbTransaction trans = null;  
  8.                try 
  9.                {  
  10.                    conn.Open();  
  11.                    trans = conn.BeginTransaction();  
  12.                    cmd.Transaction = trans;  
  13.                    foreach (string item in arr)  
  14.                    {  
  15.                        cmd.CommandText = string.Format(string.Format("insert into Sky_Admin_Role(AdminID,RoleID) values ({0},{1});", UserID, Convert.ToInt32(item)));  
  16.                        cmd.ExecuteNonQuery();  
  17.                    }  
  18.                    trans.Commit();  
  19.  
  20.                }  
  21.                catch (Exception ex)  
  22.                {  
  23.                    trans.Rollback();  
  24.                    throw ex;  
  25.                }  
  26.            }  
  27.        } 

注意當插入多條語句時我們不要忘了一旦發生異常,我們需要撤銷操作,就必須要用到事務。執行Aceess的insert時,我們需要在connection關閉前循環插入,這樣才能減少資源暫用,提升性能。這里宣告嘗試五成功!

原文鏈接http://www.cnblogs.com/aces/archive/2012/06/07/Ace_AccessMultipleInsert.html

 

責任編輯:彭凡 來源: 博客園
相關推薦

2010-09-30 08:27:48

2011-08-24 13:49:45

Access數據庫轉化

2011-03-22 16:31:35

Access數據庫

2011-04-08 10:43:08

mysql數據access數據庫

2011-03-07 17:35:09

JavaACCESS數據庫

2024-04-18 09:56:16

2011-04-01 12:58:46

ASPACCESS數據庫

2011-08-25 17:15:04

2010-05-17 10:11:11

導入Mysql

2011-08-01 22:41:49

SQL Server數Insert

2021-07-28 14:40:57

鴻蒙HarmonyOS應用

2010-06-09 14:19:35

導入MySQL數據庫

2009-06-10 22:11:28

javascript連

2011-04-08 09:07:25

Access數據庫Oracle庫

2010-10-22 11:22:33

SQL Server數

2010-05-19 15:01:14

MySQL數據導入

2011-03-29 16:11:43

2011-04-08 09:24:20

access數據庫數據轉換

2010-07-21 14:11:36

SQL Server

2011-07-22 16:59:30

MySQL數據庫嵌套查詢
點贊
收藏

51CTO技術棧公眾號

免费一级做a爰片久久毛片潮| 日韩免费在线观看av| 波多野结衣视频免费观看| 成人婷婷网色偷偷亚洲男人的天堂| 欧美精品一级二级三级| 国产 日韩 欧美在线| 国产区av在线| 国产成人亚洲精品狼色在线| 欧美亚洲国产日本| 国产探花在线视频| 偷拍一区二区| 欧美一区二区视频在线观看2020| 国产精品沙发午睡系列| 黄色免费在线观看网站| 26uuu色噜噜精品一区二区| 91亚洲午夜在线| 在线永久看片免费的视频| 你懂的国产精品| 中文字幕精品一区二区精品| 国产伦精品一区二区三区精品| 欧美一级免费| 日本精品免费观看高清观看| www.av片| 污污片在线免费视频| 欧美国产成人在线| 快播亚洲色图| 日韩一区二区三区不卡| 国产一区不卡在线| 成人精品一区二区三区电影黑人| www.com亚洲| 国产精品尤物| 992tv成人免费视频| 丝袜 亚洲 另类 欧美 重口| 清纯唯美亚洲综合一区| 亚洲人成在线一二| 丰满少妇在线观看资源站| 精品嫩草影院| 欧美一区二区三区视频免费| xxx国产在线观看| 快播电影网址老女人久久| 疯狂做受xxxx高潮欧美日本| 国产综合中文字幕| 国产777精品精品热热热一区二区| 亚洲男人天堂一区| 天堂а√在线中文在线| 成人在线影视| 亚洲久本草在线中文字幕| 天堂v在线视频| 草莓福利社区在线| 伊人一区二区三区| 久操手机在线视频| 青青草原国产在线| 亚洲国产精品嫩草影院| 男女视频网站在线观看| 国产一二在线播放| 欧美性猛交xxxx黑人猛交| 欧美色图色综合| 欧美大胆成人| 欧美性xxxxx极品少妇| 亚洲黄色小视频在线观看| 欧美日韩精品免费观看视完整| 色老头久久综合| 国产三级三级三级看三级| 丝袜美腿一区| 欧美日韩国产成人在线免费| 国产性生活一级片| 成人激情自拍| 日韩电影在线观看中文字幕 | 国产成人av自拍| 91嫩草视频在线观看| 日本韩国在线观看| 久久美女高清视频| 亚洲一区二区精品在线| 色呦呦呦在线观看| 欧美性猛交xxxx乱大交3| 国产视频一区二区三区在线播放 | 99在线首页视频| 污污网站在线免费观看| 欧美极品xxx| 精品国产一区二区三区在线| а√天堂资源官网在线资源| 在线观看欧美日本| 亚洲天堂小视频| 日韩激情网站| 日韩亚洲综合在线| 国产在线观看你懂的| 久久久久久色| 444亚洲人体| 久草视频视频在线播放| 亚洲女同ⅹxx女同tv| 国产精品333| 日本中文字幕视频一区| 亚洲激情自拍图| 99久久久无码国产精品性 | 日韩视频一区在线| 国产在线精品观看| 欧美bbbbb| 国产精品久久国产三级国电话系列 | 久草免费在线视频| 欧美精品乱码久久久久久按摩| 日本一级大毛片a一| 精品久久久久中文字幕小说| 九九久久精品一区| 国产精品乱码一区二区视频| 国产suv精品一区二区883| 日韩欧美亚洲v片| av影视在线看| 欧美一区二区三区四区久久| 午夜影院黄色片| 亚洲另类自拍| 91久久国产综合久久蜜月精品| 九色在线观看| 亚洲成a天堂v人片| 黄色a级三级三级三级| 久久99免费视频| 久久欧美在线电影| 国产乱淫a∨片免费视频| 91麻豆精品秘密| 大胆欧美熟妇xx| 国产一区二区av在线| 正在播放欧美一区| 黄色免费av网站| 成人午夜电影小说| 蜜臀av.com| 国产激情欧美| 亚洲最新av网址| 日本三级小视频| 成人av高清在线| 777久久精品一区二区三区无码| 日韩护士脚交太爽了| 中文字幕精品av| 免费在线观看av的网站| 久久久精品天堂| 欧美日韩在线一| 粉嫩av一区二区| 欧美激情亚洲另类| 亚洲精品一区二区三区新线路| 亚洲日本欧美天堂| 亚洲黄色片免费| 久久精品亚洲欧美日韩精品中文字幕| 国产精品美乳一区二区免费 | 国产女人18毛片水真多成人如厕 | 国产亚洲成av人片在线观看桃| 日韩伦人妻无码| 波多野结衣视频一区| 蜜桃传媒一区二区三区| 精品亚洲精品| 97色伦亚洲国产| 香蕉国产在线视频| 欧美日韩国产综合视频在线观看中文| 中国黄色片视频| 亚洲三级网站| 蜜桃麻豆www久久国产精品| 蜜桃视频动漫在线播放| 亚洲欧美精品suv| 婷婷激情五月综合| 国产精品美女www爽爽爽| 中文字幕 欧美日韩| 欧美韩日一区| 69174成人网| 91超碰国产在线| 日韩精品视频在线播放| 久久人人爽人人爽人人片av免费| 国产欧美一区二区三区在线老狼 | 国产高清日韩| 欧美成人第一页| 手机av免费在线观看| 岛国av一区二区| 国产18无套直看片| 国产一区中文字幕| 国产人妻777人伦精品hd| 天堂俺去俺来也www久久婷婷| 国产成人精品久久二区二区91| 五月天婷婷在线视频| 日韩一区二区三区电影在线观看| 久久久一区二区三区四区| 91亚洲国产成人精品一区二三| 久久久久久久久久久免费视频| 青青草91久久久久久久久| 亚洲精品日韩av| 午夜影院在线播放| 伊人一区二区三区久久精品| 国产三级自拍视频| 精品国产31久久久久久| 黄色免费一级视频| 丁香一区二区三区| 能看的毛片网站| 欧美日韩蜜桃| 三级三级久久三级久久18| 日韩三级av高清片| 国产精品吹潮在线观看| 青青在线视频| 中文字幕在线精品| 人妻妺妺窝人体色www聚色窝| 91传媒视频在线播放| 中文字幕在线观看成人| 久久精品一区二区三区不卡牛牛 | 欧美国产精品专区| 岛国精品一区二区三区| 日本伊人精品一区二区三区观看方式| avove在线观看| 网友自拍一区| **亚洲第一综合导航网站| 欧美黑人疯狂性受xxxxx野外| 欧美国产第一页| av每日在线更新| 日韩风俗一区 二区| 国产激情久久久久久熟女老人av| 91久久人澡人人添人人爽欧美 | 色av成人天堂桃色av| 欧美三级 欧美一级| 中文字幕精品一区二区精品绿巨人 | 99re成人精品视频| 男插女视频网站| 久久精品久久久精品美女| 国产免费成人在线| 一本久道综合久久精品| 黄色特一级视频| 四虎8848精品成人免费网站| 欧美精品一区三区在线观看| 91成人入口| 97超级碰碰| 亚洲资源在线| 国产精品一区久久| 国产精品毛片久久久久久久久久99999999| 午夜免费日韩视频| 黄色污污视频在线观看| 久久中文字幕视频| 美女国产在线| xvideos成人免费中文版| 韩国三级av在线免费观看| 亚洲精品一区二区在线观看| 99re只有精品| 日韩欧美亚洲国产精品字幕久久久| 中文字幕永久在线观看| 欧美亚洲高清一区二区三区不卡| 欧美 日韩 精品| 色综合天天视频在线观看| 日韩精品一区二区三| 亚洲成av人片观看| 五月天综合在线| 亚洲精品成人精品456| 国产三级国产精品国产国在线观看| 中文字幕一区二区在线播放| 18啪啪污污免费网站| 中文字幕一区二区视频| 免费中文字幕日韩| 亚洲精品欧美激情| 波多野结衣亚洲色图| 夜夜精品浪潮av一区二区三区| 日韩视频中文字幕在线观看| 一区二区三区日韩欧美| 精品午夜福利在线观看| 天天亚洲美女在线视频| 欧美 日韩 精品| 欧美亚洲综合网| 国产一区二区三区成人| 日韩一区二区高清| 亚洲女人18毛片水真多| 亚洲精品v欧美精品v日韩精品| 三级毛片在线免费看| 亚洲性线免费观看视频成熟| 午夜视频成人| 色综合五月天导航| 岛国在线视频网站| 日本最新高清不卡中文字幕| 国产成人a视频高清在线观看| 国产日韩av高清| 66精品视频在线观看| 精品无人区一区二区三区 | 久久69精品久久久久久久电影好 | 欧美va亚洲va日韩∨a综合色| 成人免费看片'免费看| 亚洲制服少妇| 三级av免费观看| 成人一区二区三区视频| 国产成人无码精品久久二区三| 中文字幕在线视频一区| 日韩av综合在线| 欧美午夜精品免费| 亚洲黄色在线观看视频| 亚洲天堂免费视频| 老司机午夜在线视频| 性欧美办公室18xxxxhd| 国产成人精品一区二区三区视频| 97人人模人人爽人人少妇| 欧美精美视频| 精品免费久久久久久久| 久久久久久久欧美精品| 古装做爰无遮挡三级聊斋艳谭| 久久亚洲二区三区| 男人操女人的视频网站| 欧美日韩中文字幕在线| 在线观看国产精品视频| 欧美精品一区二区久久久| 一级日本在线| 欧洲美女免费图片一区| 欧美a在线观看| 日本婷婷久久久久久久久一区二区| 亚洲第一天堂| 熟女少妇精品一区二区| 不卡电影一区二区三区| 午夜国产小视频| 日韩欧美福利视频| 亚洲黄色在线播放| 三级精品视频久久久久| 天堂av中文在线观看| 97视频资源在线观看| 久久一区二区三区电影| 亚洲国产精品久久久久爰色欲| 国产精品亚洲专一区二区三区| 亚洲欧美va天堂人熟伦| 午夜久久电影网| 亚洲第一页在线观看| 日韩中文字幕在线播放| 日韩三区免费| 久久久com| 亚洲精品1区| 免费高清视频在线观看| 亚洲欧洲国产日韩| 中文字幕第一页在线播放| 国产视频一区在线| 成人免费图片免费观看| 91成人伦理在线电影| 99精品一区| 91女神在线观看| 国产精品丝袜91| 最近中文在线观看| 中文无字幕一区二区三区| 97婷婷大伊香蕉精品视频| 一级黄色免费毛片| 欧美高清视频看片在线观看| 水蜜桃亚洲一二三四在线| 久久大逼视频| 久久精品综合视频| 亚洲成精国产精品女| 亚洲av综合色区无码一区爱av| 日韩在线国产精品| 国产成人亚洲一区二区三区| 日韩女优中文字幕| 国产高清视频色在线www| 国产精品日韩电影| 精品中文一区| 日韩 欧美 高清| 久久久久久久久久美女| 国产黄色免费观看| 亚洲免费高清视频| 一根才成人网| 欧洲久久久久久| 日韩精品欧美精品| 快灬快灬一下爽蜜桃在线观看| 欧美亚洲国产一区在线观看网站| av在线日韩国产精品| 国产日本欧美一区二区三区在线 | 久久精品国产亚洲av无码娇色| 日韩欧美国产系列| h片精品在线观看| 蜜桃精品久久久久久久免费影院| 丝瓜av网站精品一区二区 | 日韩欧美电影在线观看| 青青草精品毛片| 精品视频久久| av噜噜在线观看| 一区二区三区加勒比av| 人妻中文字幕一区| 欧美亚洲另类视频| 精品欧美久久| 欧美性猛交xxxx乱大交91| 一级做a爱片久久| 天堂在线免费av| 国产精品国产三级国产aⅴ浪潮| 99国产**精品****| 不许穿内裤随时挨c调教h苏绵 | 国产午夜精品一区二区三区嫩草 | 日韩av电影天堂| 免费成人深夜蜜桃视频| 日韩欧美中文一区二区| 永久免费毛片在线播放| 亚洲欧美99| 粉嫩嫩av羞羞动漫久久久| 中文字字幕在线中文| 中文字幕在线视频日韩| jizz性欧美2| 欧美伦理视频在线观看| 亚洲男人的天堂网| 天堂中文字幕在线| 国产日韩在线观看av| 亚洲国产黄色| 欧美性猛交xxxx乱大交少妇| 日韩女优电影在线观看| 欧美性理论片在线观看片免费| 青青草视频在线视频| 久久美女高清视频| www.黄色国产| 国产精品久久久久免费a∨大胸| 99精品在线免费在线观看| 无套内谢大学处破女www小说| 欧美精品在线一区二区三区| 是的av在线| 国产精品日韩三级|