使用c#对access数据库中某一行进行update的问题
晚上更新数据库的时候发现可以更行一行,数据库只是太烂了,在此发帖求救各位大侠:我有个表pro中有name,date,intro字段,想问下,怎么来使用update更新某一...
晚上更新数据库的时候发现可以更行一行,数据库只是太烂了,在此发帖求救各位大侠:
我有个表pro 中有name,date,intro字段,想问下,怎么来使用update更新某一行代码,是update pro set name=xx,date=xx,intro=xx where name=yy 吗?
那具体的读取数据库和更新语句怎么写啊,实在不会了 谢了! 展开
我有个表pro 中有name,date,intro字段,想问下,怎么来使用update更新某一行代码,是update pro set name=xx,date=xx,intro=xx where name=yy 吗?
那具体的读取数据库和更新语句怎么写啊,实在不会了 谢了! 展开
2个回答
展开全部
是这样用, 不过access数据库要建立OleDbConnection对象
网上找个类希望对你有帮助
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Web;
namespace DAL
{
public class db
{
/// <summary>
/// 获得连接对象
/// </summary>
/// <returns></returns>
public static OleDbConnection GetOleDbConnection()
{
return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + 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 (object parm in p)
cmd.Parameters.AddWithValue(string.Empty, parm);
}
}
public static DataSet ExecuteDataset(string cmdText, params object[] p)
{
DataSet ds = new DataSet();
OleDbCommand command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(command);
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];
return null;
}
/// <summary>
/// 返回受影响的行数
/// </summary>
/// <param name="cmdText">a</param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdText, params object[] p)
{
OleDbCommand command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
return command.ExecuteNonQuery();
}
}
/// <summary>
/// 返回SqlDataReader对象
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static OleDbDataReader ExecuteReader(string cmdText, params object[] p)
{
OleDbCommand command = new OleDbCommand();
OleDbConnection connection = GetOleDbConnection();
try
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch
{
connection.Close();
throw;
}
}
/// <summary>
/// 返回结果集中的第一行第一列,忽略其他行或列
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, params object[] p)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(cmd, connection, cmdText, p);
return cmd.ExecuteScalar();
}
}
/// <summary>
/// 分页
/// </summary>
/// <param name="recordCount"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="cmdText"></param>
/// <param name="countText"></param>
/// <param name="p"></param>
/// <returns></returns>
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 command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
}
return ds;
}
}
}
网上找个类希望对你有帮助
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Web;
namespace DAL
{
public class db
{
/// <summary>
/// 获得连接对象
/// </summary>
/// <returns></returns>
public static OleDbConnection GetOleDbConnection()
{
return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + 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 (object parm in p)
cmd.Parameters.AddWithValue(string.Empty, parm);
}
}
public static DataSet ExecuteDataset(string cmdText, params object[] p)
{
DataSet ds = new DataSet();
OleDbCommand command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(command);
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];
return null;
}
/// <summary>
/// 返回受影响的行数
/// </summary>
/// <param name="cmdText">a</param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdText, params object[] p)
{
OleDbCommand command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
return command.ExecuteNonQuery();
}
}
/// <summary>
/// 返回SqlDataReader对象
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static OleDbDataReader ExecuteReader(string cmdText, params object[] p)
{
OleDbCommand command = new OleDbCommand();
OleDbConnection connection = GetOleDbConnection();
try
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch
{
connection.Close();
throw;
}
}
/// <summary>
/// 返回结果集中的第一行第一列,忽略其他行或列
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandParameters">传入的参数</param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, params object[] p)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(cmd, connection, cmdText, p);
return cmd.ExecuteScalar();
}
}
/// <summary>
/// 分页
/// </summary>
/// <param name="recordCount"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="cmdText"></param>
/// <param name="countText"></param>
/// <param name="p"></param>
/// <returns></returns>
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 command = new OleDbCommand();
using (OleDbConnection connection = GetOleDbConnection())
{
PrepareCommand(command, connection, cmdText, p);
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
}
return ds;
}
}
}
展开全部
update pro set name=xx,date=xx,intro=xx where name=yy
如果你的name是唯一的话,这样也可以
习惯做法是给每个表设置个自增的字段,比如id,可以根据id来精确UPDATE了,比如
update pro set name=xx,date=xx,intro=xx where pro.id=9
读取的话类似
select * from pro where pro.id = 9
具体看你select的依据是什么啦
如果你的name是唯一的话,这样也可以
习惯做法是给每个表设置个自增的字段,比如id,可以根据id来精确UPDATE了,比如
update pro set name=xx,date=xx,intro=xx where pro.id=9
读取的话类似
select * from pro where pro.id = 9
具体看你select的依据是什么啦
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询