String SQL = "Insert Into Users(usrNick) values ('" + txtNickName[B].Text[/B] + "')";
Jag har denna kod:
using System;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace Community.Controls
{
public class AddUser : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtFirstName;
protected System.Web.UI.WebControls.TextBox txtLastName;
protected System.Web.UI.WebControls.TextBox txtEmail;
protected System.Web.UI.WebControls.TextBox txtNickName;
protected System.Web.UI.WebControls.TextBox txtPassword;
protected System.Web.UI.WebControls.ImageButton btnRegister;
protected System.Web.UI.WebControls.Label SysTray;
public AddUser()
{
Page.Init += new System.EventHandler(Page_Init);
}
private void Page_Init(Object obj, EventArgs e)
{
InitializeComponent();
}
private void Page_Load(object sender, System.EventArgs e)
{
}
private void btnRegister_Click(Object obj, System.Web.UI.ImageClickEventArgs e)
{
if(Page.IsValid)
{
String SQL = "Insert Into Users(usrNick) values ('" + txtNickName + "')";
String SQLChk = "SELECT NickName FROM Users WHERE NickName='" + txtNickName.Text + "'";
OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("DB/CommunityDB.mdb") + ";");
OleDbCommand Cmd = new OleDbCommand(SQL, Conn);
OleDbCommand CmdChk = new OleDbCommand(SQLChk, Conn);
Conn.Open();
OleDbDataReader dr = CmdChk.ExecuteReader();
if(dr.Read())
{
SysTray.Text = "Det finns redan en användare med det användarnamnet";
dr.Close();
}
else
{
dr.Close();
Cmd.ExecuteNonQuery();
}
Conn.Close();
}
}
private void InitializeComponent()
{
this.btnRegister.Click += new System.Web.UI.ImageClickEventHandler(this.btnRegister_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
}
}
Som fungerar jätte bra endas tills det att den skall lägga in saker i databasen via mitt Insert Into uttryck, då får jag ett fel som ser ut på detta sätt:
Operationen måste använda en fråga som kan uppdateras.
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: Operationen måste använda en fråga som kan uppdateras.
Och då är frågan varför skulle inte mitt Insert Into uttryck vara uppdaterbart? Och jag vet med 99% säkerhet att detta fungerade under Beta 2 men efter att jag installerat version 1 så har det slutat fungera.
någon som vet något om detta, kollade på gotdotnet.com om uppdateringar till version 1, men jag kan inte hitta något!
snälla hjälp, det kanske helt enkelt bara är fel på min kod...
Kanske ska tillägga att det jag skrivit in ligger i en .cs fil och att jag kör med CodeBehind="..." å sånt...
