using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Xml;
namespace AccessDemo
{
class Program
{
private static OleDbConnection conn = new OleDbConnection();
private static OleDbCommand comm = new OleDbCommand();
static void Main(string[] args)
{
string sql = "";
sql = Console.ReadLine();
if (sql.Trim().ToUpper().Substring(0, 6) == "SELECT")
{
DataTable dt = GetDataTable(sql);
if (dt == null || dt.Rows.Count == 0)
{
Console.WriteLine("无数据");
}
else
{
string strColumnName = "";
string strColumnValue = "";
foreach (DataColumn dc in dt.Columns)
{
strColumnName += dc.ColumnName + " ";
}
Console.WriteLine(strColumnName);
foreach (DataRow dr in dt.Rows)
{
strColumnValue = "";
strColumnValue = dr[0].ToString() + " " + dr[1].ToString() + " " + dr[2].ToString();
Console.WriteLine(strColumnValue);
}
}
}
else
{
int successCount = ExecuteSql(sql);
Console.WriteLine("成功执行 " + successCount + " 条数据");
}
Console.ReadLine();
}
/// <summary>
/// 开DB
/// </summary>
private static void OpenAccess()
{
string strConnetion = System.Configuration.ConfigurationSettings.AppSettings["connectionstring"];
if(strConnetion==null)
{
return;
}
if (conn.State == ConnectionState.Closed)
comm.Connection = conn;
try
{
conn.Open();
}
catch (Exception e)
{ throw new Exception(e.Message); }
}
}
/// <summary>
/// 关DB
/// </summary>
private static void CloseAccess()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
conn.Dispose();
comm.Dispose();
}
}
/// <summary>
/// 执行非查询语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private static int ExecuteSql(string sql)
{
int successCount = 0;
try
{
OpenAccess();
comm.CommandType = CommandType.Text;
comm.CommandText = sql;
successCount = comm.ExecuteNonQuery();
}
catch (Exception e)
{
successCount = 0;
throw new Exception(e.Message);
}
finally
{
CloseAccess();
}
return successCount;
}
/// <summary>
/// 执行查询语句返回Datatable
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private static DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
OpenAccess();
comm.CommandType = CommandType.Text;
comm.CommandText = sql;
da.SelectCommand = comm;
da.Fill(dt);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
CloseAccess();
}
return dt;
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
using System.Xml;
namespace AccessDemo
{
class Program
{
private static OleDbConnection conn = new OleDbConnection();
private static OleDbCommand comm = new OleDbCommand();
static void Main(string[] args)
{
string sql = "";
sql = Console.ReadLine();
if (sql.Trim().ToUpper().Substring(0, 6) == "SELECT")
{
DataTable dt = GetDataTable(sql);
if (dt == null || dt.Rows.Count == 0)
{
Console.WriteLine("无数据");
}
else
{
string strColumnName = "";
string strColumnValue = "";
foreach (DataColumn dc in dt.Columns)
{
strColumnName += dc.ColumnName + " ";
}
Console.WriteLine(strColumnName);
foreach (DataRow dr in dt.Rows)
{
strColumnValue = "";
strColumnValue = dr[0].ToString() + " " + dr[1].ToString() + " " + dr[2].ToString();
Console.WriteLine(strColumnValue);
}
}
}
else
{
int successCount = ExecuteSql(sql);
Console.WriteLine("成功执行 " + successCount + " 条数据");
}
Console.ReadLine();
}
/// <summary>
/// 开DB
/// </summary>
private static void OpenAccess()
{
string strConnetion = System.Configuration.ConfigurationSettings.AppSettings["connectionstring"];
if(strConnetion==null)
{
return;
}
if (conn.State == ConnectionState.Closed)
{
//这里是存放Access文件的地址。用Access文件存放的路径替换下边的路径。Access在bin\debug\下面
comm.Connection = conn;
try
{
conn.Open();
}
catch (Exception e)
{ throw new Exception(e.Message); }
}
}
/// <summary>
/// 关DB
/// </summary>
private static void CloseAccess()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
conn.Dispose();
comm.Dispose();
}
}
/// <summary>
/// 执行非查询语句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private static int ExecuteSql(string sql)
{
int successCount = 0;
try
{
OpenAccess();
comm.CommandType = CommandType.Text;
comm.CommandText = sql;
successCount = comm.ExecuteNonQuery();
}
catch (Exception e)
{
successCount = 0;
throw new Exception(e.Message);
}
finally
{
CloseAccess();
}
return successCount;
}
/// <summary>
/// 执行查询语句返回Datatable
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private static DataTable GetDataTable(string sql)
{
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
OpenAccess();
comm.CommandType = CommandType.Text;
comm.CommandText = sql;
da.SelectCommand = comm;
da.Fill(dt);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
CloseAccess();
}
return dt;
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connectionstring" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" />
</appSettings>
</configuration>