El problema de usar C# para actualizar una determinada fila en la base de datos de Access
Así es como se usa, pero la base de datos de acceso necesita crear un objeto OleDbConnection
Espero que sea útil para encontrar una clase en línea
usando Sistema;
usando System.Collections.Generic;
usando System.Text;
usando System.Data;
usando System. Data.OleDb;
usando System.Web;
espacio de nombres DAL
{
base de datos de clase pública
{
/// lt; resumengt;
/// Obtener el objeto de conexión
/// lt /summarygt; > /// lt; returngt; lt ;/returnsgt;
public static OleDbConnection GetOleDbConnection()
{
return new OleDbConnection("Provider=Microsoft. Jet.OLEDB.4.0; Fuente de datos = " 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. Abierto)
conn.Open();
cmd.Parameters.Clear();
cmd.Connection = conn; cmd.CommandText = cmdText;
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 30
if (p != null) p>
{
foreach (objeto parm en p)
cmd.Parameters.AddWithValue(string.E
mpty, parm);
}
}
conjunto de datos estático público ExecuteDataset(cadena cmdText, objeto params[] p)
{
DataSet ds = nuevo DataSet();
comando OleDbCommand = nuevo OleDbCommand()
usando (conexión OleDbConnection = GetOleDbConnection())
{
PrepareCommand(comando, conexión, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(comando);
da.Fill(ds); );
}
return ds;
}
DataRow estático público ExecuteDataRow(cadena cmdText, objeto params[] p)
{
DataSet ds = ExecuteDataset(cmdText, p);
if (ds != null amp; ds.Tables.Count gt; 0 amp ;amp ; ds.Tables[0].Rows.Count gt; 0)
devolver ds.Tables[0].Rows[0];
devolver nulo;
}
/// lt; resumengt;
/// Devuelve el número de filas afectadas
/// lt;/summarygt; p>
/// lt;param name="cmdText"gt;alt;/paramgt;
/// lt;param name="commandParameters"gt;Parámetros entranteslt ;/paramgt;
/// lt;returnsgt;lt;/returnsgt;
public static int ExecuteNonQuery(string cmdText, params object[] p)
{
Comando OleDbCommand = nuevo OleDbCommand();
usando (conexión OleDbConnection = GetOleDbConnection())
{
PrepareCommand(comando, conexión, cmdText, p);
return comando.ExecuteNonQuery();
}
}
/// lt; resumengt;
/// Devuelve el objeto SqlDataReader
/ // lt;/summarygt;
/// lt;param name="cmdText"gt;lt;/paramgt;
/// lt;param name="commandParameters" gt; pasado en parámetroslt;/paramgt;
/// lt;returnsgt;lt;/returnsgt;
public static OleDbDataReader ExecuteReader(string cmdText, params object[] p )
{
comando OleDbCommand = nuevo OleDbCommand();
conexión OleDbConnection = GetOleDbConnection()
prueba
{
PrepareCommand(comando, conexión, cmdText, p);
lector OleDbDataReader = comando.ExecuteReader(CommandBehavior.CloseConnection
lector de retorno;
}
catch
{
conexión.Close();
tiro;
}
}
/// lt; resumengt;
/// Devuelve la primera fila y la primera columna del conjunto de resultados, ignorando las demás filas. o columna
/// lt;/summarygt;
/// lt;param name="cmdText"gt;lt;/paramgt;
/ // lt;param nombre="comandoParámetro
s"gt; Parámetros entranteslt;/paramgt;
/// lt;returnsgt;lt;/returnsgt;
objeto estático público ExecuteScalar(cadena cmdText, objeto params[ ] p)
{
OleDbCommand cmd = nuevo OleDbCommand();
usando (conexión OleDbConnection = GetOleDbConnection())
{
PrepareCommand(cmd, conexión, cmdText, p);
return cmd.ExecuteScalar()
}
}
p>
/// lt; resumengt;
/// Paginación
/// lt /summarygt; lt; param nombre="recordCount"gt;lt;/paramgt;
/// lt;param nombre="pageIndex"gt;lt;/paramgt;
/// lt; param nombre="pageSize"gt;lt;/paramgt;
/// lt;param nombre="cmdText"gt;lt;/paramgt;
/// lt; nombre del parámetro="countText"gt;lt;/paramgt;
/// lt;nombre del parámetro="p"gt;lt;/paramgt;
/// lt; returngt;lt;/returnsgt;
conjunto de datos estático público ExecutePager(ref int recordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p)
{
if (recordCount lt; 0)
recordCount = int.Parse(ExecuteScalar(countText, p).ToString());
DataSet ds = nuevo DataSet ();
comando OleDbCommand = nuevo OleDbCommand();
usando (conexión OleDbConnection
ection = GetOleDbConnection())
{
PrepareCommand(comando, conexión, cmdText, p);
OleDbDataAdapter da = nuevo OleDbDataAdapter(comando); p>
p>
da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "resultado");
}
return ds; /p>
}
}
}