我定义了一个类,内容如下:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Sql;
using System.Web;
namespace DatabaseOp
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class OPS_User
{ private static readonly String User_query_all = "select * from OPS_User";
private static readonly string User_query_name = "select * form OPS_User where UserName = @UserName";
private static readonly String User_delete_by_name = "delete from OPS_User where UserName = @UserName";
private static readonly String User_add = "insert into OPS_User(UserName,Password,UserClass,Email) values(@name,@pwd,@uclass,@email)";
public string Afile = System.Web.HttpContext.Current.Server.MapPath("OPS.mdb");
OleDbConnection AconnStr = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "Afile" + ";");
public void insertUser(string name, string pwd, int uclass, string email)
{
OleDbConnection conn = null;
conn = new OleDbConnection(AconnStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = OPS_User.User_add;
cmd.Parameters.Add("@name", OleDbType.VarChar);
cmd.Parameters[0].Value = name;
cmd.Parameters.Add("@pwd", OleDbType.VarChar);
cmd.Parameters[1].Value = pwd;
cmd.Parameters.Add("@uclass", OleDbType.Integer);
cmd.Parameters[2].Value = uclass;
cmd.Parameters.Add("@email", OleDbType.VarChar);
cmd.Parameters[3].Value = email;
cmd.ExecuteNonQuery();
}错误1:与“System.Data.OleDb.OleDbConnection.OleDbConnection(string)”最匹配的重载方法具有一些无效参数 (指向new OleDbConnection的new)
错误2: 无法从“System.Data.OleDb.OleDbConnection”转换为“string” ( 指向的是conn = new OleDbConnection(AconnStr)中的AconnStr)
请教高手应该如何解决
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Sql;
using System.Web;
namespace DatabaseOp
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class OPS_User
{ private static readonly String User_query_all = "select * from OPS_User";
private static readonly string User_query_name = "select * form OPS_User where UserName = @UserName";
private static readonly String User_delete_by_name = "delete from OPS_User where UserName = @UserName";
private static readonly String User_add = "insert into OPS_User(UserName,Password,UserClass,Email) values(@name,@pwd,@uclass,@email)";
public string Afile = System.Web.HttpContext.Current.Server.MapPath("OPS.mdb");
OleDbConnection AconnStr = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "Afile" + ";");
public void insertUser(string name, string pwd, int uclass, string email)
{
OleDbConnection conn = null;
conn = new OleDbConnection(AconnStr);
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = OPS_User.User_add;
cmd.Parameters.Add("@name", OleDbType.VarChar);
cmd.Parameters[0].Value = name;
cmd.Parameters.Add("@pwd", OleDbType.VarChar);
cmd.Parameters[1].Value = pwd;
cmd.Parameters.Add("@uclass", OleDbType.Integer);
cmd.Parameters[2].Value = uclass;
cmd.Parameters.Add("@email", OleDbType.VarChar);
cmd.Parameters[3].Value = email;
cmd.ExecuteNonQuery();
}错误1:与“System.Data.OleDb.OleDbConnection.OleDbConnection(string)”最匹配的重载方法具有一些无效参数 (指向new OleDbConnection的new)
错误2: 无法从“System.Data.OleDb.OleDbConnection”转换为“string” ( 指向的是conn = new OleDbConnection(AconnStr)中的AconnStr)
请教高手应该如何解决
public void insertUser(string name, string pwd, int uclass, string email)
{
OleDbConnection conn = null;
conn = new OleDbConnection(AconnStr);
AconnStr是字符串类型。不是 OleDbConnection AconnStr = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "Afile" + ";");
这个类型的。
AconnStr相当于你上面的"provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "Afile" + ";");
public string Afile = System.Web.HttpContext.Current.Server.MapPath("OPS.mdb");
OleDbConnection AconnStr = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Afile + ";");
提示说上面的 Afile 字段初始值设定项无法引用非静态字段、方法或属性“DatabaseOp.OPS_User.Afile”是什么意思,我具体代码如下:
namespace DatabaseOp
{
public class OPS_User
{
private static readonly String User_query_all = "select * from OPS_User";
private static readonly string User_query_name = "select * form OPS_User where [UserName] = @UserName";
private static readonly String User_delete_by_name = "delete from OPS_User where [UserName] = @UserName";
private static readonly String User_add = "insert into OPS_User([UserName],[Password],[UserClass],[Email]) values (@name,@pwd,@uclass,@email)";
public string Afile = System.Web.HttpContext.Current.Server.MapPath("OPS.mdb");
OleDbConnection AconnStr = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Afile + ";");
}