中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Access數(shù)據(jù)庫多條數(shù)據(jù)Insert
來源:易賢網(wǎng) 閱讀:1156 次 日期:2015-01-08 16:18:11
溫馨提示:易賢網(wǎng)小編為您整理了“Access數(shù)據(jù)庫多條數(shù)據(jù)Insert”,方便廣大網(wǎng)友查閱!

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

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

嘗試一:

The Demo:

StringBuilder BuiList = new StringBuilder(string.Format("({0},0)", UserID));

foreach (RepeaterItem item in Rpt_AdminRole.Items)

{

if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)

{

HtmlInputCheckBox cbRole = item.FindControl("cb_Role") as HtmlInputCheckBox;

if (cbRole.Checked)

{

BuiList.Append(",(");

BuiList.Append(UserID);

BuiList.Append(",");

BuiList.Append(cbRole.Value);

BuiList.Append(")");

}

}

}

The Dal:

/// <summary>

/// 添加Role關系

/// </summary>

/// <param name="roleContact">角色關系 eg: "(1,1),(1,2)"</param>

/// <returns></returns>

public static int InsertRoleContact(string roleContact)

{

string sql = "insert into Sky_Admin_Role(AdminID,RoleID) values "+roleContact;

return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, sql, null);

}

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

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

嘗試二

The Demo : 獲取DataTable

public DataTable GetInsertSQL(Repeater rep,string controlID)

{

DataTable data = new DataTable();

data.Columns.Add("AdminID");

data.Columns.Add("RoleID");

foreach (RepeaterItem item in rep.Items)

{

if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)

{

HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox;

if (cb.Checked)

{

DataRow row = data.NewRow();

row.ItemArray = new object[] { UserID, cb.Value};

data.Rows.Add(row);

}

}

}

return data;

}

The Dal:

public static int InsertRoleContact(DataTable dt)

{

string sql = "insert into Sky_Admin_Role(AdminID,RoleID) select * from @Data";

OleDbParameter[] param = new OleDbParameter[] {

new OleDbParameter("@Data",?){Value =dt}

};

return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, sql, param);

}

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

嘗試三

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

public string GetInserCollection(Repeater rep, string controlID)

{

StringBuilder buiCollecton = new StringBuilder("");

buiCollecton.Append("(0");

foreach (RepeaterItem item in rep.Items)

{

if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)

{

HtmlInputCheckBox cb = item.FindControl(controlID) as HtmlInputCheckBox;

if (cb.Checked)

{

buiCollecton.Append(string.Format(",{0}", cb.Value));

}

}

}

buiCollecton.Append(")");

return buiCollecton.ToString();

}

The Dal :

public static int InsertRoleContact(int UserID,string RoleCollection)

{

StringBuilder BuiSQL = new StringBuilder("");

BuiSQL.Append("declare @SkyContact table(userID int,roleID int);");

BuiSQL.Append("insert into @SkyContact values select " + UserID + ",R_ID from Sky_Role;");

BuiSQL.Append(string.Format("insert into Sky_Admin_Role values (select * from @SkyContact where roleID in {0})",RoleCollection));

return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuiSQL.ToString(), null);

}

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

嘗試四

The Demo: 先獲取我想要的數(shù)據(jù)形式 :1,2,3 此處略??磗ql:

public static int InsertRoleContact2(int UserID, string RoleCollection)

{

string[] arr = RoleCollection.Split(',');

StringBuilder BuilSQL = new StringBuilder("");

foreach (string item in arr)

{

BuilSQL.Append(

string.Format("insert into Sky_Admin_Role(AdminID,RoleID) values ({0},{1});",UserID,Convert.ToInt32(item)));

}

return Common.OleDbHelper.ExecuteNonQuery(CommandType.Text, BuilSQL.ToString(), null);

}

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

嘗試五

The Demo:

public static void InsertMultipleSQL(int UserID,string RoleCollection)

{

string[] arr = RoleCollection.Split(',');

using (OleDbConnection conn = new OleDbConnection(Common.config.AccessConnStr))

{

OleDbCommand cmd = conn.CreateCommand();

OleDbTransaction trans = null;

try

{

conn.Open();

trans = conn.BeginTransaction();

cmd.Transaction = trans;

foreach (string item in arr)

{

cmd.CommandText =

string.Format(

string.Format(

"insert into Sky_Admin_Role(AdminID,RoleID

) values ({0},{1});", UserID, Convert.ToInt32(item)));

cmd.ExecuteNonQuery();

}

trans.Commit();

}

catch (Exception ex)

{

trans.Rollback();

throw ex;

}

}

}

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

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:Access數(shù)據(jù)庫多條數(shù)據(jù)Insert

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久综合色8888| 欧美色图首页| 亚洲国产片色| 国产美女精品视频免费观看| 国产小视频国产精品| 一区二区三区在线不卡| 亚洲国产综合在线| 在线观看日韩精品| 一区二区三区视频观看| 亚洲欧美国产精品va在线观看| 久久成人18免费观看| 欧美二区乱c少妇| 国产日韩av高清| 一本久久青青| 久久久久久高潮国产精品视| 欧美jizzhd精品欧美巨大免费| 国产美女精品在线| 日韩视频在线观看免费| 亚洲一级特黄| 久久gogo国模啪啪人体图| 欧美国产日韩a欧美在线观看| 国产精品呻吟| 亚洲午夜电影网| 欧美日韩二区三区| 亚洲国产三级网| 久久五月天婷婷| 国产日韩精品在线观看| 亚洲一区二区三区四区五区黄 | 欧美激情综合五月色丁香| 国产精品视频网址| 亚洲欧美一级二级三级| 欧美午夜理伦三级在线观看| 亚洲精品黄网在线观看| 牛夜精品久久久久久久99黑人 | 亚洲在线电影| 国产精品成人免费| 中日韩高清电影网| 国产精品扒开腿爽爽爽视频| 亚洲一区二区三区成人在线视频精品| 欧美人妖另类| 正在播放亚洲| 国产精品稀缺呦系列在线| 亚洲少妇一区| 国产精品剧情在线亚洲| 欧美一级专区免费大片| 国内精品美女在线观看| 裸体一区二区| 在线视频一区二区| 国产一区二区精品| 久久综合九色综合网站| 亚洲激情女人| 国产精品久久久久高潮| 久久se精品一区二区| 在线日韩日本国产亚洲| 欧美日韩亚洲视频| 小黄鸭精品密入口导航| 国产亚洲人成a一在线v站 | 亚洲韩国一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲电影专区| 欧美日韩国产精品专区 | 国产精品久久毛片a| 欧美制服第一页| 亚洲国产第一页| 欧美午夜精品久久久久久人妖| 欧美一区二区三区喷汁尤物| 亚洲第一在线视频| 国产精品v日韩精品v欧美精品网站| 亚洲欧美日本精品| 亚洲国产天堂久久国产91| 欧美午夜不卡在线观看免费| 国产精品久久午夜| 狠狠色综合一区二区| 欧美jjzz| 亚洲欧美怡红院| 亚洲高清资源综合久久精品| 欧美日韩成人在线观看| 日韩午夜剧场| 国产一区二区三区黄| 欧美视频在线观看一区| 国产精品免费一区二区三区观看| 性久久久久久久久久久久| 亚洲大片一区二区三区| 国产精品日日做人人爱| 欧美a级在线| 欧美中文字幕久久| 在线天堂一区av电影| 好看不卡的中文字幕| 国产精品视频观看| 欧美色欧美亚洲高清在线视频| 欧美一级夜夜爽| 亚洲主播在线播放| 日韩一区二区免费高清| 中文无字幕一区二区三区| 狠狠综合久久| 国产精品一区二区女厕厕| 欧美精品 国产精品| 欧美69wwwcom| 久久午夜电影| 久久一综合视频| 久久精品一本| 欧美制服第一页| 亚洲欧美日韩在线播放| 亚洲欧美国产高清| 性一交一乱一区二区洋洋av| 亚洲欧美日韩电影| 亚洲综合色自拍一区| 一本久久青青| 99精品国产一区二区青青牛奶| 亚洲国内自拍| 亚洲人屁股眼子交8| 亚洲精品专区| 宅男噜噜噜66国产日韩在线观看| 日韩一级在线观看| 亚洲香蕉视频| 欧美在线亚洲在线| 老司机免费视频久久| 欧美a级片网| 欧美视频中文字幕| 国产精品欧美日韩一区二区| 国产精品专区第二| 韩曰欧美视频免费观看| 亚洲国产精品一区二区尤物区| 亚洲国产精选| 宅男在线国产精品| 欧美一区二粉嫩精品国产一线天| 香蕉久久夜色精品| 久久人91精品久久久久久不卡| 久久久久久电影| 欧美大片在线观看一区二区| 国产欧美一区二区精品性色| 国产一区二区三区无遮挡| 黑人操亚洲美女惩罚| 亚洲人体偷拍| 欧美一区二区高清| 欧美另类高清视频在线| 国产精品综合| 日韩午夜黄色| 久久久久国产精品www| 欧美二区不卡| 国产精品夜色7777狼人| 在线成人黄色| 亚洲神马久久| 免费不卡中文字幕视频| 国产精品一区二区三区乱码| 亚洲电影第三页| 亚洲在线观看视频网站| 欧美日本国产一区| 伊人狠狠色丁香综合尤物| 亚洲综合精品四区| 欧美日产国产成人免费图片| 国产亚洲一区精品| 一区二区欧美激情| 欧美搞黄网站| 狠狠久久亚洲欧美专区| 亚洲视频在线视频| 欧美精品三级| 亚洲精品国产精品国自产观看| 欧美在线你懂的| 亚洲精品一区二区网址| 亚洲欧美偷拍卡通变态| 欧美激情国产日韩精品一区18| 国产一区二区丝袜高跟鞋图片| 一区二区三区福利| 欧美精品乱码久久久久久按摩| 国产一区二区日韩| 午夜久久电影网| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 久久国产精品久久国产精品| 欧美日韩综合网| 亚洲精品无人区| 欧美成人精品在线播放| 一区精品久久| 久久久最新网址| 精品1区2区| 欧美粗暴jizz性欧美20| 亚洲国产综合91精品麻豆| 久久亚洲综合网| 韩国福利一区| 久久免费精品日本久久中文字幕| 国产情侣一区| 久久亚洲综合| 亚洲欧洲一区二区天堂久久| 欧美高清不卡| 蜜桃av噜噜一区二区三区| 国产日韩亚洲| 久久精品在线| 激情久久久久久久| 蜜臀久久99精品久久久久久9| 亚洲激情国产精品| 欧美人与禽性xxxxx杂性| 在线视频你懂得一区| 国产精品久久久免费| 亚洲欧美国产制服动漫| 国产日韩欧美高清| 欧美jizzhd精品欧美喷水| 一区二区三区黄色| 国产亚洲成av人片在线观看桃| 久久婷婷影院| 亚洲少妇自拍|