我想從C#連接到我的MS Access數據庫的C#和我收到以下錯誤數據庫連接?請幫助使用訪問
Q
使用訪問
0
A
回答
0
使用連接字符串是這樣的:
public static string ConStr = "Provider=Microsoft.ACE.Oledb.15.0; Data Source=D:\db.accdb;";
public static void DeleteTable(string TableName)
{
OleDbConnection connection = new OleDbConnection(OLEDB.ConStr);
OleDbCommand oleDbCommand = new OleDbCommand(string.Format("delete from [{0}]", (object) TableName), connection);
try
{
connection.Open();
oleDbCommand.ExecuteNonQuery();
}
catch
{
}
finally
{
connection.Close();
}
}
0
我做了一個類爲。它可以與最新的visual studio完美兼容,或者2010版與2010版相同。如果您擁有更新版本的訪問權限,則需要安裝Access Database Engine。它還包含一個函數,可以防止使用sql注入攻擊你的sql,並創建md5散列的方法。
using System.Data;
using System.Data.OleDb;
using System.Text;
using System.Security.Cryptography;
public class Database
{
#region Variables
String Name;
String Path;
String ConnectionString;
OleDbConnection Connection;
#endregion
#region Init Destroy
public Database(String Name)
{
this.Name = @"App_Data\" + Name;
Path = HttpContext.Current.Server.MapPath(this.Name);
ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; " +
"Data Source = " + Path + ";" +
"Persist Security Info = False;";
Connection = new OleDbConnection(ConnectionString);
if (Connection.State == System.Data.ConnectionState.Closed)
{
Connection.Open();
}
}
public void finalize()
{
if (Connection.State == System.Data.ConnectionState.Open)
{
try { Connection.Close(); }
catch { }
}
}
#endregion
#region Queries
public void execute(String query)
{
OleDbCommand command = new OleDbCommand(query, Connection);
command.ExecuteNonQuery();
}
public OleDbDataReader select(String query)
{
OleDbCommand command = new OleDbCommand(query, Connection);
OleDbDataReader data = command.ExecuteReader();
return data;
}
public DataSet selectData(String query)
{
OleDbCommand command = new OleDbCommand(query, Connection);
OleDbDataAdapter adp = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
adp.Fill(ds);
return ds;
}
public object scalar(String query)
{
OleDbCommand command = new OleDbCommand(query, Connection);
object data = new object();
data = command.ExecuteScalar();
return data;
}
#endregion
#region Encryption Security
public String stripInjection(String field)
{
String x = field.Replace(@"'", string.Empty);
x = x.Replace(@"""", string.Empty);
return x;
}
public string md5Hash(string input)
{
StringBuilder hash = new StringBuilder();
MD5CryptoServiceProvider md5provider = new MD5CryptoServiceProvider();
byte[] bytes = md5provider.ComputeHash(new UTF8Encoding().GetBytes(input));
for (int i = 0; i < bytes.Length; i++)
{
hash.Append(bytes[i].ToString("x2"));
}
return hash.ToString().ToUpper();
}
#endregion
}
不要把完成在類的析構函數指令(如微軟的文檔中說,因爲它會推出一些例外)。只是把它當你完成了你的任務:
Database database = new Database("data.accdb");
DataSet result = database.selectData("SELECT something FROM table WHERE condition;");
database.finalize();
0
複製您的DATABSE文件.ACCDB項目的調試文件夾,然後在配置中添加app.config文件在您的項目下面的代碼
寫的app.config標籤
<connectionStrings>
<add name="db" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\sse_db.accdb;Persist Security Info=False;"
providerName="System.Data.Oledb" />
</connectionStrings>
1)添加System.Configuration參考 使用連接對象如下
OleDbConnection con = new OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings["db"].ConnectionString);
相關問題
- 1. 訪問使用
- 2. 使用訪問
- 3. 訪問使用E4
- 4. 訪問使用jQuery
- 5. 訪問使用python
- 6. 訪問使用PowerShell
- 7. 訪問使用PHP
- 8. 訪問使用AudioFileReadPackets
- 9. 訪問使用jQuery
- 10. 訪問使用jQuery
- 11. 訪問使用jQuery
- 12. 訪問使用QQuickWindow
- 13. 訪問使用CGI
- 14. 訪問使用JNI
- 15. 訪問使用jQuery
- 16. 使用HybridAuth'Offline'訪問
- 17. 訪問使用instantiateViewControllerWithIdentifier
- 18. 訪問使用PowerShell
- 19. 訪問使用Respond.js
- 20. 訪問使用NSURL
- 21. 訪問使用LINQ
- 22. 訪問使用ASP.NET
- 23. 訪問使用INVOKE
- 24. 訪問使用JavaScript
- 25. 訪問使用JavaMail通過IMAP訪問Gmail(使用代理)
- 26. 用戶訪問使用kubectl
- 27. 使用java訪問MS CryptoAPI
- 28. 訪問值使用JavaScript
- 29. 使用feedparser訪問評論
- 30. 訪問ZF2使用javascript
告訴我們一些代碼:你是如何連接,你的連接字符串是什麼... – Nino