c#與Access?

本人目前只是一個新手,現在有一個名字是Person的表,裡面有ID(自動增長),PersonName(文本),Age(數字)。

窗體上有一個名字是name的textbox控制項,在這個控制項里輸入PersonName後單擊button輸出對應的Age。

問題是select * from Person where //這裡怎麼寫


17年第一答:讓我來慢慢和你說。

C#是一種開發語言,它能做的事很少。於是MS另外提供了一套系統,.net framework. 如果你在搜索資料的時候如果有注意到的話,就會看到 C#的版本也許事6.0,而.net framework的版本是4.5.1

因為的確這是兩種不同的產品。只是MS的VS軟體幫你做了很多事情,很容易讓人忽略這裡的不同。.net framework 提供了很多額外的功能,其中就有怎麼訪問資料庫的功能。

Access是一種簡單的資料庫軟體,當然這種說法並不嚴謹,姑且這麼說吧。要在程序中訪問資料庫中的數據,往往需要一個資料庫本身提供的driver. 比如mysql 有mysql connector,Oracle有oracle client等,資料庫的driver提供了一些訪問資料庫的方式,一般有通用的odbc訪問方式和針對各個語言的庫,比如C,C#,PHP。Access當然也有這樣的driver。

開發人員可以通過odbc或者資料庫提供的庫介面,通過一定的訪問規則,訪問資料庫,其中就有你所需要的 傳遞sql語句的方式。

odbc訪問一般可以通過windows平台的odbc面板來設置,這個設置面板在控制面板中。

或者有對應的類庫,則可以通過在config文件中配置訪問字串(connecton string),訪問字串一般包含 用戶名,密碼,資料庫源和驗證方式四個關鍵字。不同的資料庫,需要的字串略有不同。

odbc或者特定資料庫訪問方式,大致順序如下

1.Connect

2.Open DB

3.Create Command

4,構建sql語句

5,sql語句賦給Command對象

6,Command對象執行函數,一般是ExecuteQuery之類的

7,ExecuteQuery返回一個DataReader對象

8,一行行的把訪問到數據讀出來

9, Close Command

10,Close DB

11,Disconnect

程序需要的數據,就是第八步所獲取的數據。

回到Access,記憶中,安裝好Office,對應的Access driver就有了,所以你需要的是

1.搜索下如何設置Access的odbc數據源

2,搜索下.net framework如何訪問odbc數據源

3,多多實驗

就這樣了。


謝邀,用access盡量不要用odbc,增加客戶配置工作,性能還差。應該直接使用OleDB進行訪問。另外,access資料庫存在一個體積增長很快的問題,添加數據記錄時候就增加使用空間,刪除時候不清理,往往需要定期壓縮。這個時候也需要直接使用JetEngine來操作。

另外,實在不是很推薦使用access資料庫,微軟SQLServer提供了免費的Compat版本和LocalDBb版本,安裝都很小,比access好用到不知哪裡去了。


要輸出的是Age,select可以不用查全部,select Age就好了,要找那個人的就是

"select Age from Person where PersonName="+textbox.text;

不知道這裡能看懂沒?因為傳給資料庫的是字元串,然後把textbox的文本跟字元串進行拼接再傳過去,

不過這裡有點問題,萬一資料庫PersonName有重複的呢,除非你一開始插入數據時就做限制。自己思考吧。

(手機碼字辣雞排版)

外帶不知道你是想學精還是學點編程方便工作(我也不知道怎麼表達,sorry)

如果是想學精的話強烈推薦c#搭配著SQL server來學


這個和c#沒關係啊。。。你倒是把sql查詢怎麼寫搞明白啊 用字元串連接或者string.Format把查詢字元串拼出來就行 訪問資料庫的話用http://ado.net那一套 微軟家基於.net的語言調用這個的方法都一樣的


為啥不用sqlite


"select * Person where PersonName="+""+textbox.Text+"";


題主是問那句算起來語句如何補全嗎?

我覺得你只需要把點擊button時,獲取textbox值,假設你用一個string類型的名為strPersonName的局部變數保存。然後sql語句sql後面應該寫 "where PersonName=" + strPersonName

sql語句執行結果應該會返回查詢結果,然後你將查詢到結果中的ID更新textbox即可。

爪機回答, 排版無力。區區拙見,如有錯誤,望指出。


推薦閱讀:

ACCESS資料庫的學習方法及資源?
如何用access搭建資料庫?
如何查找202萬個數據中重複次數為n的數據?
請問這個需求該怎麼用SQL實現?

TAG:MicrosoftAccess | C# | C#編程 |