📄 mapdatabase.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace 课程安排
{
public static class MapDatabase
{
private static DataSet dataset = null;
// 将数据库中的数据转换成相应的对象
public static bool CreateSchoolInfo()
{
return false;
}
public static bool SaveSchoolInfo()
{
return false;
}
}
#region 数据库操作接口
public interface IDataOperate
{
string ConnectionString { get;set;}
DataTable Search(string sql);
DataTable QueryParameterSQL(string ParameterSQL, object[] values);
DataTable QueryTable(string sql, string name);
int UpdateTable(string sql, DataTable dt);
int UpdateParameterSQL(string ParameterSQL, object[] values);
int ClearTable(string tableName);
bool ExcuteTransction(IList<string> sqls, IList<DataTable> dts);
}
public static class DataBaseFactory
{
public static IDataOperate CreateAccessOperate()
{
IDataOperate d = new AccessOperate();
return d;
}
}
#endregion
#region Access数据库操作
public class AccessOperate : IDataOperate
{
private string connectionString;
public string ConnectionString
{
get
{
return connectionString;
}
set
{
connectionString = value;
}
}
public AccessOperate()
{
// 设置默认连接字符串
this.connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "\\课程安排.mdb";
}
private OleDbConnection GetConn()
{
OleDbConnection con = null;
try
{
con = new OleDbConnection(this.connectionString);
con.Open();
}
catch (Exception ex)
{
}
return con;
}
public DataTable Search(string sql)
{
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(sql, conn);
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd);
DataTable dsSales = new DataTable();
ocmd.CommandType = CommandType.Text;
oda.Fill(dsSales);
conn.Close();
return dsSales;
}
public DataTable QueryParameterSQL(string ParameterSQL, object[] values)
{
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(ParameterSQL, conn);
DataTable dsSales = new DataTable();
try
{
string err = BuildAccessParameter(ocmd, ParameterSQL, values);
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd);
ocmd.CommandType = CommandType.Text;
oda.Fill(dsSales);
}
catch (Exception ex)
{
}
finally
{
conn.Close();
}
return dsSales;
}
private string BuildAccessParameter(OleDbCommand command, string ParameterSQL, object[] values)
{
//分析sql中的参数,进行赋值
int pos = 0;
int i = 0;
string temp = ParameterSQL;
pos = temp.IndexOf('?');
string error = "";
try
{
while (pos > 0)
{
temp = temp.Substring(pos + 1);
string parameterName = "param" + i;
//赋值
//...
InsertOraParameter(command, parameterName, values[i]);
i++;
//下一个位置
pos = temp.IndexOf('?');
}
}
catch (Exception ex)
{
error += ex.Message;
}
return error;
}
private void InsertOraParameter(OleDbCommand command, string parameterName, object value)
{
OleDbParameter parameter = command.CreateParameter();
parameter.Direction = ParameterDirection.Input;
parameter.ParameterName = parameterName;
parameter.Value = value;
command.Parameters.Add(parameter);
}
public DataTable QueryTable(string sql, string name)
{
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(sql, conn);
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd);
DataTable dsSales = new DataTable();
ocmd.CommandType = CommandType.Text;
oda.Fill(dsSales);
dsSales.TableName = name;
conn.Close();
return dsSales;
}
public int UpdateTable(string sql, DataTable dt)
{
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(sql, conn);
OleDbDataAdapter oda = new OleDbDataAdapter(ocmd);
OleDbCommandBuilder builder = new OleDbCommandBuilder(oda);
ocmd.CommandType = CommandType.Text;
int r = oda.Update(dt);
conn.Close();
return r;
}
public int ClearTable(string tableName)
{
string sql = "delete from " + tableName;
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(sql, conn);
int r = ocmd.ExecuteNonQuery();
conn.Close();
return r;
}
public int UpdateParameterSQL(string ParameterSQL, object[] values)
{
OleDbConnection conn = GetConn();
OleDbCommand ocmd = null;
ocmd = new OleDbCommand(ParameterSQL, conn);
Int32 r = 0;
try
{
string err = BuildAccessParameter(ocmd, ParameterSQL, values);
r = ocmd.ExecuteNonQuery();
}
catch (Exception ex)
{
}
finally
{
conn.Close();
}
return r;
}
public bool ExcuteTransction(IList<string> sqls, IList<DataTable> dts)
{
return false;
}
}
#endregion
#region SqlServer数据库操作
public class SqlServerOperate : IDataOperate
{
private string connectionString;
public string ConnectionString
{
get
{
return connectionString;
}
set
{
connectionString = value;
}
}
public DataTable Search(string sql)
{
return new DataTable();
}
public DataTable QueryParameterSQL(string ParameterSQL, object[] values)
{
return new DataTable();
}
public DataTable QueryTable(string sql, string name)
{
return new DataTable();
}
public int UpdateTable(string sql, DataTable dt)
{
return 0;
}
public int UpdateParameterSQL(string ParameterSQL, object[] values)
{
return 0;
}
public int ClearTable(string tableName)
{
return 0;
}
public bool ExcuteTransction(IList<string> sqls, IList<DataTable> dts)
{
return false;
}
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -