Dotnet 的C#用SQL語(yǔ)句直接操作ACCESS的相關(guān)示例
- 2017-09-04 10:25:00
- 生活無(wú)限的BLOG 轉(zhuǎn)貼
- 4296
Dotnet 的C#用SQL語(yǔ)句直接操作ACCESS的相關(guān)示例
C#操作ACCESS的基本操作方法示例,主要給C#新手操控Access數(shù)據(jù)庫(kù)的入門
有這方麵需要的網(wǎng)友可以蔘考一下,主要是對(duì)Access數(shù)據(jù)庫(kù)的增刪改查等操作
C#操作Access的具體代碼如下
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using ADOX; using System.Data.OleDb; using System.IO; namespace accesssql { public partial class access練習(xí) : Form { public access練習(xí)() { InitializeComponent(); } private void 創(chuàng)建access_Click(object sender, EventArgs e) { //創(chuàng)建ACCESS文件需要ADOX,創(chuàng)建引用,導(dǎo)入COM中的Microsoft ADO Ext. 2.8 for DLL and Security,併using ADOX; FileInfo myfile = new FileInfo("sldb.mdb"); if (myfile.Exists) { MessageBox.Show("當(dāng)前文件夾下已存在sldb.mdb文件,放棄創(chuàng)建"); } else { try { CatalogClass sldb = new CatalogClass(); sldb.Create("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=sldb.mdb;" + "Jet OLEDB:Engine Type=5");//創(chuàng)建sldb.mdb sldb = null; MessageBox.Show("在程序文件夾下創(chuàng)建sldb.mdb成功。"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } } } private void button1_Click(object sender, EventArgs e) { OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb;//設(shè)置命令的對(duì)像是SLDB數(shù)據(jù)庫(kù) //建錶Folder,括號(hào)內(nèi)爲(wèi):字段1 類型,字段2 類型,......(NOT NULL錶示不能空) cmd.CommandText = "Create Table Folder (FolderID INT NOT NULL,SuperiorID INT,FolderGrade INT,FolderName TEXT(255),AllPathName TEXT(255))";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("增加錶Folder,錶項(xiàng)FolderID SuperiorID FolderGrade FolderName成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close();sldb =null;} } private void button2_Click(object sender, EventArgs e) { //清除錶格 //DROP TABLE "錶格名" OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "DROP TABLE Folder";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("刪除Folder錶成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button3_Click(object sender, EventArgs e) { //增加一條記録 //INSERT INTO "錶格名" ("欄位1", "欄位2", ...) VALUES ("值1", "值2", ...) OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "INSERT INTO Folder (FolderID,SuperiorID,FolderGrade,FolderName,AllPathName) VALUES (1001,2001,3001,'SLonline','SL1')";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("增加錶Folder內(nèi)記録一條成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close();sldb =null;} } private void button4_Click(object sender, EventArgs e) { //修改某條記録 //UPDATE "錶格名" SET "欄位1" = [新值] WHERE {條件} OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "UPDATE Folder SET AllPathName = 'SL2' WHERE FolderID = 1001";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("修改錶Folder內(nèi)記録一條成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button5_Click(object sender, EventArgs e) { //刪除記録 //DELETE FROM "錶格名" WHERE {條件} //先添加一條記録 OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "INSERT INTO Folder (FolderID,SuperiorID,FolderGrade,FolderName,AllPathName) VALUES (1003,2003,3003,'SLonline','SL3')";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("增加錶Folder內(nèi)記録一條成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close();sldb =null;} //再把這條記録刪除 OleDbConnection sldb1 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb1.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb1; cmd.CommandText = "DELETE FROM Folder WHERE FolderID = 1001";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("刪除FolderID o 1001的記録成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb1.Close(); sldb1 = null; } } private void button6_Click(object sender, EventArgs e) { //清除錶格內(nèi)的所有信息 //DELETE * FROM 錶1; OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "DELETE * FROM Folder";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("清空錶Folder內(nèi)記録成功"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button8_Click(object sender, EventArgs e) { if (File.Exists("sldb.mdb")) { try { File.Delete("sldb.mdb"); MessageBox.Show("文件sldb.mdb刪除成功。"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } } else { MessageBox.Show("沒(méi)有找到sldb.mdb文件"); } } private void button7_Click(object sender, EventArgs e) { OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "SELECT COUNT(*) FROM Folder";//SQLCOMMAND語(yǔ)句 int number=(int)cmd.ExecuteScalar();//執(zhí)行SQLCMMAD,ExecuteScalar是反迴一箇行第一列的結(jié)果 MessageBox.Show("Folder錶中共有" + Convert.ToString(number)); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button9_Click(object sender, EventArgs e) { OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "SELECT FolderGrade FROM Folder WHERE FolderID = 1001";//SQLCOMMAND語(yǔ)句 int number = (int)cmd.ExecuteScalar();//執(zhí)行SQLCMMAD,ExecuteScalar是反迴一箇行第一列的結(jié)果, MessageBox.Show("Folder錶中FolderID爲(wèi)1001的記録,F(xiàn)olderGrade項(xiàng)的值是:"+ Convert.ToString(number)); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button10_Click(object sender, EventArgs e) { //ALTER TABLE Cars ADD COLUMN Condition TEXT(10) //在錶Cars內(nèi)增加一箇字段,名字爲(wèi)Condition(狀況),長(zhǎng)度爲(wèi)10 OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "ALTER TABLE Folder ADD COLUMN readme TEXT(255)";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("Folder錶中增加readme字段,文本型長(zhǎng)度255"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button11_Click(object sender, EventArgs e) { //ALTER TABLE Cars ADD COLUMN Condition TEXT(10) //在錶Cars內(nèi)增加一箇字段,名字爲(wèi)Condition(狀況),長(zhǎng)度爲(wèi)10 OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "ALTER TABLE Folder DROP readme";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("Folder錶中刪除瞭readme字段"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } private void button13_Click(object sender, EventArgs e) { //除非用ADOX,ADO沒(méi)有直接改名方法,所以用複製錶,然後再刪除舊錶的方法。 //SELECT * INTO newtable FROM oldtable OleDbConnection sldb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sldb.mdb"); try { sldb.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = sldb; cmd.CommandText = "SELECT * INTO File FROM Folder";//SQLCOMMAND語(yǔ)句 //如果隻要某些字段過(guò)去:"SELECT FolderID,SuperiorID INTO File FROM folder" cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD cmd.CommandText = "DROP TABLE Folder";//SQLCOMMAND語(yǔ)句 cmd.ExecuteNonQuery();//執(zhí)行SQLCMMAD MessageBox.Show("將Folder錶改名爲(wèi)File"); } catch (Exception ex) { MessageBox.Show(Convert.ToString(ex.Message)); } finally { sldb.Close(); sldb = null; } } } }
分享
Access數(shù)據(jù)庫(kù)自身
- office課程播放地址及課程明細(xì)
- Excel Word PPT Access VBA等Office技巧學(xué)習(xí)平颱
- 將( .accdb) 文件格式數(shù)據(jù)庫(kù)轉(zhuǎn)換爲(wèi)早期版本(.mdb)的文件格式
- 將早期的數(shù)據(jù)庫(kù)文件格式(.mdb)轉(zhuǎn)換爲(wèi) (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數(shù)據(jù)庫(kù)引擎和訪問(wèn)連接引擎以阻止對(duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的訪問(wèn)(remote table)
- Access 365 /Access 2019 數(shù)據(jù)庫(kù)中哪些函數(shù)功能和屬性被沙箱模式阻止(如未啟動(dòng)宏時(shí))
- Access Runtime(運(yùn)行時(shí))最全的下載(2007 2010 2013 2016 2019 Access 365)
Access VBA函數(shù)模塊
- access vba代碼太長(zhǎng),換行,分行的寫(xiě)法
- VB6 VBA Access真正可用併且完美支持中英文的 URLEncode 與 URLDecode 函數(shù)源碼
- 自定義VB中的urlencode函數(shù),將URL中特殊部分進(jìn)行編碼
- Access 函數(shù)簡(jiǎn)化串接sql字符串,減少符號(hào)導(dǎo)緻的書(shū)寫(xiě)錯(cuò)誤
- vba完全關(guān)閉IE瀏覽器及調(diào)用IE瀏覽器的簡(jiǎn)單應(yīng)用
- 利用FollowHyperlink方法打開(kāi)超鏈接提示“無(wú)法下載您要求的信息”的解決方案
- 在access中用代碼打開(kāi)文本框中超鏈接地址
Access Activex第三方控件
- Activex控件或Dll 在某些電腦無(wú)法正常註冊(cè)的解決辦法(regsvr32註冊(cè)時(shí)卡住)
- office使用部分控件時(shí)提示“您沒(méi)有使用該ActiveX控件許可的問(wèn)題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹(shù)控件(treeview) 64位Office下齣現(xiàn)橫曏滾動(dòng)條不會(huì)自動(dòng)定位的解決辦法
- Access中國(guó)樹(shù)控件 在win10電腦 節(jié)點(diǎn)行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹(shù)控件 ListView列錶等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調(diào)用WebService(直接Post方式)併解析返迴的XML
Access ADP Sql Server等
- 早期PB程序連接Sqlserver齣現(xiàn)錯(cuò)誤
- MMC 不能打開(kāi)文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由於文件不存在,不是一箇MMC控製颱,或者用後來(lái)的MMC版
- sql server連接不瞭的解決辦法
- localhost與127.0.0.1區(qū)彆
- Roych的淺談數(shù)據(jù)庫(kù)開(kāi)髮繫列(Sql Server)
- sqlserver 自動(dòng)備份對(duì)備份目録沒(méi)有存取權(quán)限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業(yè)管理器 SQLServer2005_SSMSEE
Access 行業(yè)應(yīng)用開(kāi)髮
文章分類
聯(lián)繫我們
聯(lián)繫人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |