新手小白请教大神!自己研究做登录页面,不但登录按钮的cs代码报错而且数据库还连不上,不知咋改!求大神指导

憨憨少年 2019-06-07 03:09:31


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.SqlClient;
using System.Data.OleDb;

public partial class Admin_AdminLogin : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}


protected void AdminButton1_Click(object sender, EventArgs e)
{
string us = TextBox1.Text;
string pw = TextBox2.Text;


SqlConnection conn = new SqlConnection();
conn.ConnectionString= "Data Source=.;Initial Catalog=ASP.NET_project;Persist Security Info=True;User ID=sa;Password=123456";
conn.Open();

using (OleDbConnection cmd = new OleDbConnection())
{
cmd.Connection = conn;
string sql = "SELECT ASP.NET_project FROM AdminTable WHERE username" + TextBox1 + "AND password" + TextBox2 + "'";
cmd.CommandText = sql;



if (Convert.ToInt32(cmd.Executescalar()) > 0)
{ Label1.Text = "登录成功"; }
else
{ Label1.Text = "登录失败"; }
}
}
}


...全文
50 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_40778501 2019-06-08
  • 打赏
  • 举报
回复
引用 6 楼 qq_40778501 的回复:
OleDbConnection 改成SqlCommand sql这样写 string sql = "SELECT count(1) FROM AdminTable WHERE username = @username AND password = @password"; cmd.CommandText = sql; cmd.Parameters.Add(new SqlParameter("@username,us")); cmd.Parameters.Add(new SqlParameter("@password,pw")); 不要直接把Textbox.text拼到字符串里面,多的也不说,你自己想一下我如果在密码这栏里输入的是hacker or 1=1会怎么样
cmd.Parameters.Add(new SqlParameter("@username",us)); cmd.Parameters.Add(new SqlParameter("@password",pw)); 手打的没在vs编辑器里打,更正
qq_40778501 2019-06-08
  • 打赏
  • 举报
回复
OleDbConnection 改成SqlCommand sql这样写 string sql = "SELECT count(1) FROM AdminTable WHERE username = @username AND password = @password"; cmd.CommandText = sql; cmd.Parameters.Add(new SqlParameter("@username,us")); cmd.Parameters.Add(new SqlParameter("@password,pw")); 不要直接把Textbox.text拼到字符串里面,多的也不说,你自己想一下我如果在密码这栏里输入的是hacker or 1=1会怎么样
  • 打赏
  • 举报
回复
将TextBox1改成us TextBox2改成pw
并且最好是对us和pw进行非空判断等有效性校验。
憨憨少年 2019-06-07
  • 打赏
  • 举报
回复
引用 3 楼 吃也没关系 的回复:
还有为什么用sql server,又用oracle的连接字符串,一个就够了
谢谢大佬!已修正了!!!
E去不回 2019-06-07
  • 打赏
  • 举报
回复
还有为什么用sql server,又用oracle的连接字符串,一个就够了
E去不回 2019-06-07
  • 打赏
  • 举报
回复
图片看不了,不知道为什么
E去不回 2019-06-07
  • 打赏
  • 举报
回复
定义的string 类型的us,pw都没用到,textbox1是控件名称,相当于类,所以sql里有问题或者直接用textbox1.text

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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