代码如下:using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//using Socut;
using System.Data.SqlClient;
using System.Data.OleDb;public partial class register : System.Web.UI.Page
{
// public Socut.Data.CReader dr;
//public Socut.CReader dr;
//CReader dr;
// public CData myData = new CData(); protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string strName = TB1.Text.ToString();
string strPew = TB3.Text.ToString();
string danweiming = TB4.Text.ToString();
string damweidi = TB5.Text.ToString();
string youzhengbian = TB6.Text.ToString();
string shengfenzheng = TB7.Text.ToString();
string dianhua = TB8.Text.ToString();
string email = TB9.Text.ToString(); if (user(strName))
{
RegisterStartupScript("", "<script language=javascript>alert('用户名存在');</script>");
TB1.Text = "";
TB2.Text = "";
TB3.Text = "";
TB4.Text = "";
TB5.Text = "";
TB6.Text = "";
TB7.Text = "";
TB8.Text = "";
TB9.Text = "";
TB1.Focus();
}
else
{
string strConnection = "provider = Microsoft.Jet.OLEDB.4.0;data source =" + HttpContext.Current.Server.MapPath("~/App_Data/user.mdb");
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();//打开连接
//得到当前的连接状态
string strInsert = "insert into [user]([username],[password],[danweiming],[danweidi],[youzhengbian],[shengfenzheng],[dianhua],[email]) values('" + strName + "','" + strPew + "','" + danweiming + "','" + damweidi + "','" + youzhengbian + "','" + shengfenzheng + "','" + dianhua + "','" + email + "')"; OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
//ExecuteNonQuery()方法来执行没有返回结果的命令
sqlcmd.ExecuteNonQuery(); cn.Close();
Response.Redirect("save.html");
}
/*
dr = new CReader("SELECT * FROM socut_user WHERE u_name='" + TextBox1.Text + "'"); if (dr.Read())
{
Label1.Text = "用户已被注册";
} else
{
myData.GetExecuteNonQuery("INSERT INTO socut_user(u_name,u_pass) VALUES('" + TextBox1.Text + "','" + TextBox2.Text + "')"); Label1.Text = "注册成功!";
}
*/
/*
dr = new CReader("SELECT * FROM user WHERE username='" + TextBox1.Text + "'"); if (dr.Read())
{
Label1.Text = "用户已被注册";
} else
{
myData.GetExecuteNonQuery("INSERT INTO user(username,password) VALUES('" + TextBox1.Text + "','" + TextBox2.Text + "')"); Label1.Text = "注册成功!";
}
*/
} public bool user(String username)
{
String suser = username; string strConnection = "provider = Microsoft.Jet.OLEDB.4.0;data source =" + HttpContext.Current.Server.MapPath("~/App_Data/user.mdb");
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();//打开连接
string strInsert = "select * from [user] where username='" + suser + "'";
//建立Command对象
OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
//ExecuteNonQuery()方法来执行没有返回结果的命令
//sqlcmd.ExecuteNonQuery();
OleDbDataReader sdata = sqlcmd.ExecuteReader();
Response.Write(sdata);
if (sdata.Read())
{
return true;
}
else
{
return false;
} }
}错误提示:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误:
行 65: OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
行 66: //ExecuteNonQuery()方法来执行没有返回结果的命令
行 67: sqlcmd.ExecuteNonQuery();
行 68: cn.Close();
行 69: Response.Redirect("save.html");
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//using Socut;
using System.Data.SqlClient;
using System.Data.OleDb;public partial class register : System.Web.UI.Page
{
// public Socut.Data.CReader dr;
//public Socut.CReader dr;
//CReader dr;
// public CData myData = new CData(); protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string strName = TB1.Text.ToString();
string strPew = TB3.Text.ToString();
string danweiming = TB4.Text.ToString();
string damweidi = TB5.Text.ToString();
string youzhengbian = TB6.Text.ToString();
string shengfenzheng = TB7.Text.ToString();
string dianhua = TB8.Text.ToString();
string email = TB9.Text.ToString(); if (user(strName))
{
RegisterStartupScript("", "<script language=javascript>alert('用户名存在');</script>");
TB1.Text = "";
TB2.Text = "";
TB3.Text = "";
TB4.Text = "";
TB5.Text = "";
TB6.Text = "";
TB7.Text = "";
TB8.Text = "";
TB9.Text = "";
TB1.Focus();
}
else
{
string strConnection = "provider = Microsoft.Jet.OLEDB.4.0;data source =" + HttpContext.Current.Server.MapPath("~/App_Data/user.mdb");
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();//打开连接
//得到当前的连接状态
string strInsert = "insert into [user]([username],[password],[danweiming],[danweidi],[youzhengbian],[shengfenzheng],[dianhua],[email]) values('" + strName + "','" + strPew + "','" + danweiming + "','" + damweidi + "','" + youzhengbian + "','" + shengfenzheng + "','" + dianhua + "','" + email + "')"; OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
//ExecuteNonQuery()方法来执行没有返回结果的命令
sqlcmd.ExecuteNonQuery(); cn.Close();
Response.Redirect("save.html");
}
/*
dr = new CReader("SELECT * FROM socut_user WHERE u_name='" + TextBox1.Text + "'"); if (dr.Read())
{
Label1.Text = "用户已被注册";
} else
{
myData.GetExecuteNonQuery("INSERT INTO socut_user(u_name,u_pass) VALUES('" + TextBox1.Text + "','" + TextBox2.Text + "')"); Label1.Text = "注册成功!";
}
*/
/*
dr = new CReader("SELECT * FROM user WHERE username='" + TextBox1.Text + "'"); if (dr.Read())
{
Label1.Text = "用户已被注册";
} else
{
myData.GetExecuteNonQuery("INSERT INTO user(username,password) VALUES('" + TextBox1.Text + "','" + TextBox2.Text + "')"); Label1.Text = "注册成功!";
}
*/
} public bool user(String username)
{
String suser = username; string strConnection = "provider = Microsoft.Jet.OLEDB.4.0;data source =" + HttpContext.Current.Server.MapPath("~/App_Data/user.mdb");
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();//打开连接
string strInsert = "select * from [user] where username='" + suser + "'";
//建立Command对象
OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
//ExecuteNonQuery()方法来执行没有返回结果的命令
//sqlcmd.ExecuteNonQuery();
OleDbDataReader sdata = sqlcmd.ExecuteReader();
Response.Write(sdata);
if (sdata.Read())
{
return true;
}
else
{
return false;
} }
}错误提示:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------操作必须使用一个可更新的查询。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询。源错误:
行 65: OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
行 66: //ExecuteNonQuery()方法来执行没有返回结果的命令
行 67: sqlcmd.ExecuteNonQuery();
行 68: cn.Close();
行 69: Response.Redirect("save.html");
string strConnection = "provider = Microsoft.Jet.OLEDB.4.0;data source =" + HttpContext.Current.Server.MapPath("~/App_Data/user.mdb");
OleDbConnection cn = new OleDbConnection(strConnection);
cn.Open();//打开连接
//得到当前的连接状态
string strName = "test";
string strPew = "123";
string danweiming = "danweiming";
string damweidi = "damweidi";
string youzhengbian = "youzhengbian";
string shengfenzheng = "shengfenzheng";
string dianhua = "dianhua";
string email = "email";
string strInsert = "insert into [user]([username],[password],[danweiming],[danweidi],[youzhengbian],[shengfenzheng],[dianhua],[email]) values('" + strName + "','" + strPew + "','" + danweiming + "','" + damweidi + "','" + youzhengbian + "','" + shengfenzheng + "','" + dianhua + "','" + email + "')"; OleDbCommand sqlcmd = new OleDbCommand(strInsert, cn);
//ExecuteNonQuery()方法来执行没有返回结果的命令
sqlcmd.ExecuteNonQuery(); Response.Write("没事就输入吧");
代码没有问题,应该是参数或者权限设置
会不会是这句没下去啊 ,可我把这句放进代码里,编译都通不过,该怎么写
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为
Jet需要在该目录建立一个.ldb文件。 这里,给文件写的权限 和 给该目录写的权限 有区别吗?
什么是目录写的权限?
"IIS_WPG"用户组是用于访问和管理IIS信息的内置帐户,默认情况下对IIS中虚拟目录的文件只有"读取"解决方法一:
在Access数据库文件上单击右键->属性->安全
单击添加,在文本框中输入"IIS_WPG",单击确定,
给IIS_WPG设置权限,选中"允许写入",确定OK!方法二:
按上面步骤添加Ervryone用户,并且给Everyone赋写入权限。
IIS_WPG 是Win2003的用户,如果是win2000的话,查找IWAM_machin(machine是机器名称)http://blog.csdn.net/niehoude/article/details/4403243