Я довольно новичок в написании кодов asp.net и не могу решить проблему.Каждый раз, когда я пытаюсь зарегистрироваться, я получаю следующую ошибку:
Type name is invalid.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: Type name is invalid.
Source Error:
Line 60: }
Line 61:
Line 62: cmnd.ExecuteNonQuery();
Line 63: this.cnct.Close();
Line 64: }
Исходный код:
public class Connection
{
private OleDbConnection cnct;
public Connection(string dbPath)
{
this.cnct = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + dbPath);
}
/// <param name="types">'c' - VarChar, 'C' - Char, 'n' - VarNumeric, 'b' - Boolean</param>
public void Insert(string tableName, string[] inputs, char[] types)
{
string sql = "INSERT INTO " + tableName + " VALUES (";
for (int i = 0; i < inputs.Length - 1; i++)
sql += "@p" + i + ",";
sql += "@p" + (inputs.Length - 1) + ")";
this.cnct.Open();
OleDbCommand cmnd = new OleDbCommand(sql, this.cnct);
for (int i = 0; i < inputs.Length; i++)
{
if (types[i] == 'c')
{
cmnd.Parameters.Add("@p" + i, OleDbType.VarChar);
cmnd.Parameters["@p" + i].Value = inputs[i];
}
else if (types[i] == 'C')
{
cmnd.Parameters.Add("@p" + i, OleDbType.Char);
cmnd.Parameters["@p" + i].Value = inputs[i];
}
else if (types[i] == 'n')
{
cmnd.Parameters.Add("@p" + i, OleDbType.VarNumeric);
cmnd.Parameters["@p" + i].Value = double.Parse(inputs[i]);
}
else if (types[i] == 'b')
{
cmnd.Parameters.Add("@p" + i, OleDbType.Boolean);
cmnd.Parameters["@p" + i].Value = bool.Parse(inputs[i]);
}
}
cmnd.ExecuteNonQuery();
this.cnct.Close();
}
}
, а метод Insert вызывается с использованием
Connection cnct = new Connection(Server.MapPath("App_Data/WMUdb.mdb"));
cnct.Insert("members", values, new char[7] { 'c', 'c', 'c', 'c', 'C', 'n', 'b' });
(где
values = new string[7] {"userName","my name","pswrd123","email@example.com","2000-01-01"};
).
Что мне сделать, чтобы решить эту проблему?
Большое спасибо.