包括id,name,pwd,age,phone.其中id为主键且自增.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
pwd VARCHAR(50) NOT NULL,
age INT,
phone VARCHAR(50)
);
INSERT INTO users (NAME, pwd, age, phone)
VALUES
('张三', '123456', 20, '13000000000'),
('李四', '123', 50, '17611111111'),
('王五', '0000', 10, '18522222222')
做好了上面准备后进行简单的连接测试
//server=主机名,userid=用户名,pwd=密码(我的密码设置为空所以没写),
//database=数据库名,charset=utf8mb4表示编码格式
string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4";
//创建一个新的MySqlConnection对象实例,并使用名为connet的字符串来配置这个连接对象
//然后将这个新创建的连接对象引用赋值给名为con的变量。
MySqlConnection conn = new MySqlConnection(connet);
//打开连接
conn.Open();
// 定义一个字符串变量sql,并赋值为一个SQL查询语句
// 这个查询语句的目的是计算users表中的记录总数
string sql = "select count(*) from users";
// 创建一个MySqlCommand对象,用于执行SQL语句
// 构造函数的第一个参数是SQL语句,第二个参数是与该SQL语句关联的数据库连接对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
// 执行SqlCommand对象的ExecuteScalar方法
// 这个方法用于执行查询并返回查询结果中的第一行第一列的值
// 因为我们的SQL语句是计算总数,所以返回的是一个整数
// 使用Convert.ToInt32方法将返回的结果转换为整数类型
int result = Convert.ToInt32(cmd.ExecuteScalar());
// 使用Response.Write方法向客户端输出一条消息
// 这条消息包含了数据库中users表的记录总数
Response.Write("数据库中共有" + result + "条数据");
//关闭连接,释放资源(事实上也可以不关)
conn.Close();
可见连接成功。
使用NAME和PWD进行登录
直接贴代码(仅为初学者的学习提供方便,存在SQL注入风险)
// 从TextBox1,TextBox2控件中获取用户输入的用户名,密码,并去除前后的空格
string name = TextBox1.Text.Trim(),pwd = TextBox2.Text.Trim();
string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4";
// 使用上面定义的连接字符串创建MySqlConnection对象
MySqlConnection conn = new MySqlConnection(connet);
// 打开数据库连接
conn.Open();
// 定义SQL查询语句,用于检查数据库中是否存在与输入的用户名和密码相匹配的用户
// 注意:此处的SQL语句存在SQL注入风险,因为用户名和密码是直接拼接进SQL语句的
// 在实际开发中,应使用参数化查询来避免此类风险
string sql = "SELECT COUNT(*) FROM users WHERE name='" + name + "' AND pwd='" + pwd + "'";
// 使用上面定义的SQL语句和数据库连接对象创建MySqlCommand对象
MySqlCommand cmd = new MySqlCommand(sql, conn);
// 执行查询,并获取结果(即匹配的用户数)
// ExecuteScalar方法返回查询结果中的第一行第一列的值
//int result = Convert.ToInt32(cmd.ExecuteScalar());
// 根据查询结果判断用户是否登录成功
if (result == 1)
{
// 如果结果为1,表示用户名和密码匹配,登录成功
// 使用Response.Write方法向客户端输出JavaScript代码,弹出提示框并跳转到113.aspx页面
// 记得更改部分数据
Response.Write("<script>alert('登录成功!');window.location.href='113.aspx';</script>");
}
else
{
// 如果结果不为1,表示用户名或密码错误
// 使用Response.Write方法向客户端输出JavaScript代码,弹出错误提示框
Response.Write("<script>alert('用户名或密码错误!')</script>");
}
// 关闭数据库连接
conn.Close();
键入正确NAME和PWD,弹窗登录成功,并跳转到指定页面
这个页面是我自行添加的,自行更改其他页面
可以忽略后面的验证控件
// 从文本框控件中获取用户输入的用户名、密码、年龄和电话号码,并去除前后的空格
string name = txtName.Text.Trim();
string pwd = txtPwd.Text.Trim();
string age = txtAge.Text.Trim();
string phone = txtPhone.Text.Trim();
string connet = "server=localhost;user id=root;pwd=;database=test;charset=utf8mb4";
// 使用上面定义的连接字符串创建MySqlConnection对象
MySqlConnection conn = new MySqlConnection(connet);
// 打开数据库连接
conn.Open();
// 定义第一个SQL查询语句,用于检查数据库中是否存在与输入的用户名相匹配的用户
string sql_1 = "SELECT COUNT(*) FROM users WHERE name='" + name + "'";
// 定义第二个SQL语句,用于将新用户信息插入到数据库中的users表
string sql_2 = "INSERT INTO users (name, pwd, age, phone) VALUES ('" + name + "', '" + pwd + "', '" + age + "', '" + phone + "')";
// 使用上面定义的SQL语句和数据库连接对象创建MySqlCommand对象
MySqlCommand cmd_1 = new MySqlCommand(sql_1, conn);
MySqlCommand cmd_2 = new MySqlCommand(sql_2, conn);
// 执行第一个查询,并获取结果(即匹配的用户数)
// ExecuteScalar方法返回查询结果中的第一行第一列的值
int result = Convert.ToInt32(cmd_1.ExecuteScalar());
// 根据查询结果判断用户名是否已存在
// 注意:此处没有直接输出result值,而是根据值来决定下一步操作
// 如果要调试,可以取消注释Response.Write那行代码来查看result值
// Response.Write("<script>alert('" + result + "')</script>");
if (result == 0)
{
// 如果结果为0,表示用户名不存在,可以注册新用户
// 执行第二个SQL语句,将新用户信息插入到数据库中
cmd_2.ExecuteNonQuery();
// 使用Response.Write方法向客户端输出JavaScript代码,弹出提示框并跳转到指定页面
Response.Write("<script>alert('注册成功!');window.location.href='111.aspx';</script>");
}
else
{
// 如果结果不为0,表示用户名已存在
// 使用Response.Write方法向客户端输出JavaScript代码,弹出错误提示框
Response.Write("<script>alert('用户名重复!请重新注册!')</script>");
}
// 关闭数据库连接
conn.Close();
键入合适的数据
注册
查看数据库中表的数据
验证成功
提示:请勿发布广告垃圾评论,否则封号处理!!