我正在尝试将新用户添加到我的用户数据库,但我收到此错误:
在
处输入后,新表达式需要(),[]或{}cmd.Connection = new connection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
namespace _Users
{
public partial class registration : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnRegistration_Click(object sender, EventArgs e)
{
string connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|userDb.accdb";
using (OleDbConnection conn = new OleDbConnection(connect))
{
OleDbCommand cmd = new OleDbCommand("INSERT INTO Users (firstname, surname, Username, Email, Password, Contact) VALUES (@firstname, @surname, @Username, @Email, @Password, @Contact)");
cmd.CommandType = CommandType.Text;
cmd.Connection = new connection;
cmd.Parameters.AddWithValue("@firstname", txtbFN.Text);
cmd.Parameters.AddWithValue("@surname", txtbSN.Text);
cmd.Parameters.AddWithValue("@Username", txtbUsrN.Text);
cmd.Parameters.AddWithValue("@Email", txtbEmail.Text);
cmd.Parameters.AddWithValue("@Password", txtbPassW.Text);
cmd.Parameters.AddWithValue("@Contact", txtbCnt.Text);
connection.Open();
cmd.ExecuteNonQuery();
}
}
}
}
答案 0 :(得分:1)
您需要删除该行
cmd.Connection = new connection;
并将其替换为
cmd.Connection = conn;
new
关键字表示您要创建类的新实例。
您还必须将connection.Open();
替换为conn.Open();
(感谢@ p.s.w.g。征求意见)
答案 1 :(得分:0)
在最后一个块之前,您定义了一个名为conn
的连接。
既然您想将它存储在Connection
对象中,您只需编写:
cmd.Connection = conn;
并且,由于您要打开存储在cmd
中的连接,然后使用以下方法调用Open
上的cmd.Connection
方法:
cmd.Connection.Open();
关于您的异常,new
关键字必须始终跟随类构造函数。那些构造函数看起来像MyClass.MyConstructor(someParameters)
。
答案 2 :(得分:0)
请注意代码中未突出显示的文字。
cmd.Connection = new connection;
这意味着,没有名为“连接的类。替换为
cmd.Connection = conn;
您正在传递方法中的参数。这将在这里使用。然后,您将使用
打开链接conn.Open();
答案 3 :(得分:-1)
using (OleDbConnection conn = new OleDbConnection(connect))
{
OleDbCommand cmd = new OleDbCommand("INSERT INTO Users (firstname, surname, Username, Email, Password, Contact) VALUES (@firstname, @surname, @Username, @Email, @Password, @Contact)");
cmd.CommandType = CommandType.Text;
cmd.Connection = conn ;
cmd.Parameters.AddWithValue("@firstname", txtbFN.Text);
cmd.Parameters.AddWithValue("@surname", txtbSN.Text);
cmd.Parameters.AddWithValue("@Username", txtbUsrN.Text);
cmd.Parameters.AddWithValue("@Email", txtbEmail.Text);
cmd.Parameters.AddWithValue("@Password", txtbPassW.Text);
cmd.Parameters.AddWithValue("@Contact", txtbCnt.Text);
connection.Open();
cmd.ExecuteNonQuery();
}