日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Access數(shù)據(jù)庫(kù)多條數(shù)據(jù)Insert_Access數(shù)據(jù)庫(kù)教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Access 2010數(shù)據(jù)庫(kù)加密介紹
使用數(shù)據(jù)庫(kù)密碼加密 Access 數(shù)據(jù)庫(kù) Access 中的加密工具合并了兩個(gè)舊工具(編碼和數(shù)據(jù)庫(kù)密碼),并加以改進(jìn)。使用數(shù)據(jù)庫(kù)密碼來(lái)加密數(shù)據(jù)庫(kù)時(shí),所有其他工具都無(wú)法讀取數(shù)據(jù),并強(qiáng)制用戶(hù)必須輸入密碼才能使用數(shù)據(jù)庫(kù)。在 Access 2010 中應(yīng)用的加密所使用的算法比早期版本的 A

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

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

嘗試一:

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關(guān)系 /// </summary> /// <param name="roleContact">角色關(guān)系 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下就會(huì)出現(xiàn)這樣的錯(cuò)誤:SQL 語(yǔ)句的結(jié)束位置缺少分號(hào) (;)。

      Access對(duì)sql的支持果然是大大精簡(jiǎn),到此嘗試一失敗!, 很快在我有另外idea。sql server 多表查詢(xún)對(duì)select table 的支持!我可以直接傳一個(gè)DataTable到sql語(yǔ)句中,說(shuō)干就干! 

嘗試二

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); }

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

嘗試三

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);
        }

分享:Access數(shù)據(jù)庫(kù)安全策略之ASP式
這種作法是比較專(zhuān)業(yè)但也是很安全的也是現(xiàn)在比較流行的作法,但是現(xiàn)在許多的人只是作了一半,只是將數(shù)據(jù)名改成ASP而以,這樣的話(huà)直接用FlashGet之類(lèi)的下載工具一樣可以將數(shù)據(jù)庫(kù)下載,這種方式的正確作法有兩步: 第一步:在數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建一個(gè)字段,名稱(chēng)隨意,類(lèi)型是OLE對(duì)

共2頁(yè)上一頁(yè)12下一頁(yè)
來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):Access數(shù)據(jù)庫(kù)教程/更新時(shí)間:2014-10-10
相關(guān)Access數(shù)據(jù)庫(kù)教程