C#修改ACCESS中数据库代码如下:
{ string strPath = Application.StartupPath + "\\t_DeviceMng.mdb"; //文件路径,在bin目录下的路径
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='" + strPath + "'";//设置数据库的连接字符串
OleDbConnection oleCon = new OleDbConnection(ConStr);//实例化OleDbConnection类
StringBuilder strSQL = new StringBuilder();
strSQL.Append("update t_Lend set 设备编号='" + textBox3.Text.Trim().ToString() + "',学校编号='" + textBox4.Text.Trim().ToString() + "',标签='" + textBox5.Text.Trim().ToString() + "',领用时间='" + textBox6.Text.Trim().ToString() + "',归还时间='" + textBox7.Text.Trim().ToString() + "'where 学号='" + textBox1.Text.Trim().ToString() + "'");
// strSQL.Append(" values('" + textBox1.Text.Trim().ToString() + "','" + textBox2.Text.Trim().ToString() + "','" + textBox3.Text.Trim().ToString() + "','" + textBox4.Text.Trim().ToString() + "','" + textBox5.Text.Trim().ToString() + "','" + textBox6.Text.Trim().ToString() + "','" + textBox7.Text.Trim().ToString() + "')"); using (OleDbDataAdapter oleDap = new OleDbDataAdapter("select * from t_Student", oleCon))
{
oleCon.Open();
oleDap.ExecuteNonQuery();
MessageBox.Show("信息修改成功");
ControlInfo(false);
oleCon.Close();
}}
错误提示“System.Data.OleDb.OleDbDataAdapter”不包含“ExecuteNonQuery”的定义,并且找不到可接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“ExecuteNonQuery”(是否缺少 using 指令或程序集引用?)这是怎么回事啊
{ string strPath = Application.StartupPath + "\\t_DeviceMng.mdb"; //文件路径,在bin目录下的路径
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='" + strPath + "'";//设置数据库的连接字符串
OleDbConnection oleCon = new OleDbConnection(ConStr);//实例化OleDbConnection类
StringBuilder strSQL = new StringBuilder();
strSQL.Append("update t_Lend set 设备编号='" + textBox3.Text.Trim().ToString() + "',学校编号='" + textBox4.Text.Trim().ToString() + "',标签='" + textBox5.Text.Trim().ToString() + "',领用时间='" + textBox6.Text.Trim().ToString() + "',归还时间='" + textBox7.Text.Trim().ToString() + "'where 学号='" + textBox1.Text.Trim().ToString() + "'");
// strSQL.Append(" values('" + textBox1.Text.Trim().ToString() + "','" + textBox2.Text.Trim().ToString() + "','" + textBox3.Text.Trim().ToString() + "','" + textBox4.Text.Trim().ToString() + "','" + textBox5.Text.Trim().ToString() + "','" + textBox6.Text.Trim().ToString() + "','" + textBox7.Text.Trim().ToString() + "')"); using (OleDbDataAdapter oleDap = new OleDbDataAdapter("select * from t_Student", oleCon))
{
oleCon.Open();
oleDap.ExecuteNonQuery();
MessageBox.Show("信息修改成功");
ControlInfo(false);
oleCon.Close();
}}
错误提示“System.Data.OleDb.OleDbDataAdapter”不包含“ExecuteNonQuery”的定义,并且找不到可接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“ExecuteNonQuery”(是否缺少 using 指令或程序集引用?)这是怎么回事啊
你现在要更新 应该用OleDbCommand com = new OleDbCommand();
//链接字符串
public static string _CONNDRING = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ System.Web.HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"]
+ @"../database\quartzite.mdb;Persist Security Info=False"; /// <summary>
/// 执行更新sql语句
/// </summary>
/// <param name="sql">sql文本</param>
/// <param name="param">参数</param>
/// <returns></returns>
public static int ExecuteNoNQuery(string sql, params OleDbParameter[] param)
{
OleDbCommand com = new OleDbCommand();
using (OleDbConnection conn = new OleDbConnection(_CONNDRING))
{
PrepareCommand(sql, conn, com, CommandType.Text, param);
int obj = com.ExecuteNonQuery();
com.Parameters.Clear();
return obj;
}
}
错误提示“System.Data.OleDb.OleDbDataAdapter”不包含“ExecuteNonQuery”的定义,并且找不到可接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“ExecuteNonQuery”(是否缺少 using 指令或程序集引用?)这里说的很明显了,Adapter 里没有 ExecuteNonQuery,应该是 OledbCommand.ExecuteNonQuery()..
表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。
说明
ExecuteReader
执行返回行的命令。如果用 ExecuteReader 来执行 SQL SET 语句等命令,则可能达不到预期的效果。
ExecuteNonQuery
执行 SQL INSERT、DELETE、UPDATE 和 SET 语句等命令。
ExecuteScalar
从数据库中检索单个值(例如一个聚合值)。
看看msdnhttp://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbcommand_methods.aspx
->OleDbCommamd