请教各位大侠:asp.net使用c#如何操作access数据库

firecannon 2005-08-01 04:20:59
我做了个留言簿,使用sql server2000数据库,调试通过,但我想改成access数据库,但总是出错,后来我做了个简单的注册、登陆、修改资料的程序,使用access数据库,注册写入数据库正常、登陆查询数据库也正常,但修改数据库就提示错误,不知道是不是语句用得不对,还是有些地方(如数据库的安全、数据库源)设置的问题。请教大侠,谢谢指点!
附源程序:
注册
private void Button2_Click(object sender, System.EventArgs e)
{
OleDbConnection Myconn=new OleDbConnection((string)Application["OleDbConnectionString"]);
string strIns="Insert Into aduser (adpwd,adphone,ademail,adweb,adqq,adname,adrname) Values('"+this.TBconfirm.Text+"','"+this.TBphone.Text+"','"+this.TBemail.Text+"','"+this.TBweb.Text+"','"+this.TBqq.Text+"','"+this.TBname.Text+"','"+this.TBrname.Text+"')";
OleDbCommand mycmd=new OleDbCommand(strIns,Myconn);
Myconn.Open();
try
{
mycmd.ExecuteNonQuery();
Response.Write("成功操作数据库");

}
catch
{
Response.Write("写入数据库出错");
}
finally
{
Myconn.Close();
Response.Redirect("login.aspx");
}
}

登陆:
private void Button1_Click(object sender, System.EventArgs e)
{
OleDbConnection Myconn=new OleDbConnection((string)Application["OleDbConnectionString"]);
string strsel="select adminid from aduser where adname='"+this.adminuser.Text+"'and adpwd='"+this.password.Text+"'";
OleDbCommand cmd = new OleDbCommand(strsel,Myconn);
Myconn.Open();
OleDbDataReader reader=cmd.ExecuteReader();
if(reader.Read())
{
Session["userid"]=reader["adminid"].ToString();
Session["user"]="管理员";
reader.Close();
Myconn.Close();
Response.Redirect("change.aspx");
}
else
{
Label1.Text="输入管理员密码不正确";
Label1.Visible=true;
reader.Close();
Myconn.Close();
}

}
修改资料:
private void Button2_Click(object sender, System.EventArgs e)
{

OleDbConnection Myconn=new OleDbConnection((string)Application["OleDbConnectionString"]);
string strUpdate="Update aduser set adpwd='"+ this.TBconfirm.Text +"',adphone='"+ this.TBphone.Text +"',ademail='"+this.TBemail.Text+"',adweb='"+this.TBweb.Text+"',adqq='"+this.TBqq.Text+"',adname='"+this.TBname.Text+"',adrname='"+this.TBrname.Text+"' Where adminid='"+Session["userid"].ToString()+"'";
Myconn.Open();
OleDbCommand Mycomm=new OleDbCommand(strUpdate,Myconn);
try
{
Mycomm.ExecuteNonQuery();
Response.Write("成功操作数据库");
}
catch
{
Response.Write(Myconn.ConnectionString + "更新数据库失败....<BR>");
}
finally
{
Mycomm.Dispose();
Myconn.Close();
}
}
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leonstriff 2005-08-02
  • 打赏
  • 举报
回复
如果 accesss里面的 userid 是32位长度。则如下: userid = int32.Parse(Session["userid"].ToString()); 如果是16位长度则是 userid = int16.Parse(Session["userid"].ToString()); 其中左式的userid与access的userid匹配。很久没写#代码,可能有些错误,大概处理方法是这样。高手请不要笑话阿:)
firecannon 2005-08-02
  • 打赏
  • 举报
回复
谢谢!我看了,不行!毛病我已找到,就是数据类型不匹配.不知道access数据库中的长整型怎么与c#中数据匹配,我userid是主键而且是长整型,自增。我在C#中应如何更改Session["userid"].toString()来和access数据库中的userid匹配?
firecannon 2005-08-02
  • 打赏
  • 举报
回复
谢谢楼上的,不好意思,问题解决了,不是要转化的问题,而是我自己搞错了,数值型的不用单引号的。
jerry_yuan 2005-08-01
  • 打赏
  • 举报
回复
看看数据库文件的权限
内容概要:本文介绍了一种基于多目标粒子群算法(MOPSO)的微电网优化调度模型,综合考虑风能、光伏、储能系统、柴油发电机、燃气轮机以及与主电网之间的能量交互等多种分布式能源的协同运行。通过构建以运行成本最小化、碳排放最低化和系统可靠性最优化为目标的多目标优化模型,利用Matlab平台实现MOPSO算法求解,完成对微电网在不同运行场景下的能量管理与调度方案优化。该模型能够有效平衡经济性与环保性之间的关系,适用于含多类型分布式电源的复杂微电网系统,具有较强的工程应用价值和科研参考意义; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及工程技术人员,尤其适合从事微电网、智能电网、综合能源系统、可再生能源集成与优化调度等领域研究的专业人士; 使用场景及目标:①用于多能源耦合微电网系统的协同优化调度研究;②支持多目标智能优化算法在能源系统中的建模与求解实践,帮助用户掌握MOPSO在实际工程问题中的应用方法;③为学术论文复现、毕业设计、科研项目开发提供完整的代码实例与技术支撑; 阅读建议:建议读者结合Matlab代码与理论文档,深入理解目标函数构建、约束条件处理及Pareto最优解集生成机制,重点关注算法参数设置、多目标权衡分析与结果可视化,并可通过调整能源配置或引入新约束进行二次开发与创新研究。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧