把你的代码贴出来,特别是SQL语句。
解决方案 »
- 点击按钮跳转页面出错
- 判断浏览器模式.懂的进
- 会话20分钟后自动销毁时在Session_End事件函数中对数据库的操作出错,怎样解决
- 怎样用js调用webservice的内容?
- 不能这样写吗?NavigateUrl=article_view.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>
- ListBox绑定数据源未将对象的引用设置到对象的实例
- 请问,如何使用数据库表某一字段的记录项来动态生成GridView字段列?
- 使用WEB控件,怎么样绑定JAVASCRIPT?
- 大家觉得找工作以前熟悉什么语言很重要么
- Asp.net Mvc + EF
- 自定义类,其相应的对象没有列出来?
- 急!关于Decimal数据的保存问题
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.SqlTypes;
using System.Data.Common;
using System.Configuration;
namespace JackDown
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputButton sumbit;
protected System.Web.UI.WebControls.TextBox UserName;
protected System.Web.UI.WebControls.TextBox Password;
protected System.Web.UI.WebControls.Label Message;
protected System.Web.UI.HtmlControls.HtmlInputButton reset;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb"));
//OleDbConnection DataConnection=new OleDbConnection("provider=SQLOLEDB;Data Source="+Server.MapPath("../JackDown/database/data_Data.MDF")+";User ID=sa;Integrated Security=SSPI;Initial Catalog=data");
//OleDbConnection DataConnection=new OleDbConnection("provider=SQLOLEDB;;Integrated Security=SSPI;Initial Catalog=data");
//DataConnection.Open(); //OleDbCommand DataCommand=new OleDbCommand("select * from admin",DataConnection);
//DataCommand.Connection.Open(); }
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.sumbit.ServerClick += new System.EventHandler(this.Button1_ServerClick);
this.reset.ServerClick += new System.EventHandler(this.reset_ServerClick);
this.Load += new System.EventHandler(this.Page_Load); } private void Button1_ServerClick(object sender, System.EventArgs e)
{
string username,password;
username=UserName.Text;
password=Password.Text;
string mySel="select * from admin where Adminpassword="+password+" and AdminUser="+username; OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb"));
OleDbCommand DataCommand=new OleDbCommand(mySel,DataConnection);
DataCommand.Connection.Open();
//OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);
//myCmd1.Connection.Open();
OleDbDataReader Dr1;
Dr1=DataCommand.ExecuteReader(Dr1.CloseConnection);
Dr1.Read();
if (Dr1.RecordsAffected!=0)
{
if (password==Dr1["AdminPassword"].ToString())
{
Response.Redirect ("adminmanage.htm");
}
}
}
private void reset_ServerClick(object sender, System.EventArgs e)
{
Message.Text="登陆"; }
}
}
我在用asp的时候没有问题的,现在却说其中一个没有*.aspx.cs文件?????
有一条纪录
1 admin admin 0
string mySel="select * from admin where Adminpassword='"+password+"' and AdminUser='"+username+"'";>>>>没有*.aspx.cs文件?
你直接在VS.NET中新建两个aspx文件,它就会自动生成.aspx.cs文件了。
OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb")+";Persist Security Info=False");有用户名密码时:
OleDbConnection DataConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("../JackDown/database/data.mdb")+";Persist Security Info=True;Password=aaa;");
改成:select * from admin where AdminPassword ...(区分大小写)
你直接在VS.NET中新建两个aspx文件,它就会自动生成.aspx.cs文件了。
如果不和框架集连的话,两个aspx文件都是正常的,一旦连上,就会有一个没有.aspx.cs,我也很郁闷??
OleDbCommand DataCommand=new OleDbCommand(mySel,DataConnection);
DataCommand.Connection.Open();
//OleDbCommand myCmd1=new OleDbCommand(mySel,myConn);
//myCmd1.Connection.Open();
OleDbDataReader Dr1;
Dr1=DataCommand.ExecuteReader();
if (Dr1.Read())
{
if (password==Dr1["AdminPassword"].ToString())
{
Response.Redirect ("adminmanage.htm");
}
}
}
那两个框架目标名称对吗?
另外,你用 if (Dr1.RecordsAffected!=0) 这样来判断数据库中是否有相应的记录是错误的,因为如果用你的sql语句,Dr1.RecordAffected永远是0,DataReader的RecordAffected是执行sql的 delete、update或者insert语句后受影响的行数,而不是选出来的记录的行数!正确的判断方法应该是:
if(Dr1.Read()){
//有记录
}
else{
//没有记录
}