开发一个底层访问数据库的类,命名为baseClass,并在该类中编写一个执行insert命令的方法 命名为ExecNoQuery(string strsql),一个执行select命令的语句,返回一个DataTable对象,命名为 getDataTable(string strsql)。
时间: 2024-03-15 15:48:00 浏览: 117
连接数据库,和一个完成基本数据库操作的通用类
以下是一个可能的实现,假设使用了 MySQL 数据库和 ADO.NET 技术:
```csharp
using System.Data;
using MySql.Data.MySqlClient;
public class BaseClass
{
private string connectionString; // 数据库连接字符串
public BaseClass(string connectionString)
{
this.connectionString = connectionString;
}
// 执行 insert、update、delete 命令的方法
public int ExecNonQuery(string strSql)
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
using (MySqlCommand command = new MySqlCommand(strSql, connection))
{
return command.ExecuteNonQuery();
}
}
}
// 执行 select 命令的方法,返回 DataTable 对象
public DataTable GetDataTable(string strSql)
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
using (MySqlCommand command = new MySqlCommand(strSql, connection))
{
using (MySqlDataAdapter adapter = new MySqlDataAdapter(command))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
return dataTable;
}
}
}
}
}
```
使用示例:
```csharp
BaseClass baseClass = new BaseClass("server=myServerAddress;user id=myUsername;password=myPassword;database=myDatabase;");
int affectedRows = baseClass.ExecNonQuery("INSERT INTO myTable (column1, column2) VALUES ('value1', 'value2')");
DataTable dataTable = baseClass.GetDataTable("SELECT * FROM myTable");
```
阅读全文