액세스 데이터베이스의 특정 행을 업데이트하기 위해 C#을 사용할 때 발생하는 문제
이렇게 사용되는데 접근 데이터베이스는 OleDbConnection 객체를 생성해야 합니다
온라인에서 수업을 찾는 데 도움이 되었으면 좋겠습니다
시스템;
System.Collections.Generic 사용;
System.Text 사용;
System.Data 사용;
System 사용. Data.OleDb;
System.Web 사용;
네임스페이스 DAL
{
공개 클래스 db
{
///
/// 연결 객체 가져오기
///
/ //
public static OleDbConnection GetOleDbConnection()
{
return new OleDbConnection("Provider=Microsoft.Jet.OLEDB. 4.0; 데이터 소스=" + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["db"].ToString()));
}
private static void prepareCommand(OleDbCommand cmd, OleDbConnection conn, string cmdText, params object[] p)
{
if (conn.State != ConnectionState.Open)
conn.Open ();
cmd.Parameters.Clear();
cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 30;
if (p != null)
{
foreach(p의 객체 parm)
cmd.Parameters.AddWithValue(string.Empty, parm);
}
}
public static DataSet 실행
Dataset(string cmdText, params object[] p)
{
DataSet ds = new DataSet();
OleDbCommand command = new OleDbCommand();
(OleDbConnection 연결 = GetOleDbConnection()) 사용
{
prepareCommand(command, 연결, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(명령);
da.Fill(ds);
}
return ds;
}
public static DataRow ExecuteDataRow(string cmdText, params object[] p)
{
DataSet ds = ExecuteDataset(cmdText, p);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0]; p>
return null;
}
///
/// 영향을 받은 행 수를 반환합니다.
///
/// a
/// 들어오는 매개변수
///
public static int ExecuteNonQuery(string cmdText, params object[] p)
{
OleDbCommand 명령 = new OleDbCommand();
using (OleDbConnection 연결 = GetOleDbConnection())
{
prepareCommand( 명령, 연결, cmdText, p);
return command.ExecuteNonQuery();
}
}
///
/// SqlDataReader 개체 반환
///
///
/// 들어오는 매개변수
///
public static OleDbDataReader ExecuteReader(string cmdText, params object[] p)< /p >
{
OleDbCommand 명령 = new OleDbCommand();
OleDbConnection 연결 = GetOleDbConnection();
시도
{
PrepareCommand(명령, 연결, cmdText, p);
OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
return reader;< /p >
}
잡기
{
Connection.Close();
throw;
}
}
///
/// 결과 집합의 첫 번째 행과 열을 반환하고 다른 행이나 열은 무시합니다.
p>///
///
/// 들어오는 매개변수
///
public static object ExecuteScalar(string cmdText, params object[] p)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection 연결 = GetOleDbConnection())
{
prepareCommand(cmd, 연결, cmdText, p);
return cmd.ExecuteScalar();
}
}
///
/// 페이지 매기기
/// < /summary>
///
///
///
///
// /
///
///
public static DataSet ExecutePager(ref int RecordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p)
{
if (recordCount < 0)
RecordCount = int.Parse(ExecuteScalar(countText, p).ToString());
DataSet ds = new DataSet();
OleDbCommand 명령 = new OleDbCommand();
using (OleDbConnection 연결 = GetOleDbConnection())
{
prepareCommand(command, 연결, cmdText , p);
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
피> 피>
}
> ds 반환;
}
}
}