if (textBox1.Text == "" || textBox2.Text == "") { MessageBox.Show("请填写用户名或密码"); } string sql = "select * from User where Account like '" + textBox1.Text + "'and PassWord like'"+ textBox2.Text+"'"; DataSet dt = SqliteHelper.ExecuteQuery(sql); if (dt.Tables.Count > 0) { HomePage home = new HomePage(); home.Show(); this.Hide(); } else { MessageBox.Show("用户名或密码错误"); return; }
时间: 2024-02-15 21:28:11 浏览: 153
这段代码是一个登录操作的代码,首先判断了用户名和密码输入框是否为空,如果为空则提示“请填写用户名或密码”,否则执行查询操作。
查询操作使用了一个SQL语句,根据输入的用户名和密码进行查询,如果能够查询到结果,则说明用户名和密码输入正确,否则提示“用户名或密码错误”。
如果查询到结果,则跳转到HomePage窗体,否则不进行任何操作。这段代码中使用了SqliteHelper.ExecuteQuery方法执行查询操作,返回结果集DataSet。
需要注意的是,这段代码中使用了字符串拼接的方式构造SQL语句,容易引发SQL注入攻击。因此,建议使用参数化查询的方式构造SQL语句,以提高安全性。
相关问题
帮我改一下using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApp1_ZQA { public partial class Form3 : Form { public Form3() { InitializeComponent(); } //添加学生信息 private void button1_Click(object sender, EventArgs e) { if(textBox1.Text==null|| textBox2.Text == null|| textBox3.Text == null|| textBox4.Text == null|| textBox5.Text == null) { MessageBox.Show("输入错啦", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { string sql = "insert into Student values('" + textBox1.Text + "','" + textBox2.Text + "'.'" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','123456')"; MessageBox.Show(sql); DBHelper dB = new DBHelper(); int i = dB.Execute(sql); if (i > 0) { MessageBox.Show("输入信息成功"); } } } } }
好的,以下是修改后的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1_ZQA
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
//添加学生信息
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")
{
MessageBox.Show("请填写完整信息", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
string sql = "insert into Student values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','123456')";
DBHelper dB = new DBHelper();
int i = dB.Execute(sql);
if (i > 0)
{
MessageBox.Show("添加学生信息成功");
}
else
{
MessageBox.Show("添加学生信息失败,请检查输入信息");
}
}
}
}
}
主要修改内容如下:
1. 在判断输入是否为空的语句中,将“==null”修改为“==""”。
2. 在插入SQL语句中,将“'.'”修改为“','”。
3. 在添加学生信息成功的提示中,将提示语修改为“添加学生信息成功”。
4. 添加失败的提示中,将提示语修改为“添加学生信息失败,请检查输入信息”。
这些修改可以帮助您更好地完成添加学生信息的功能,同时也可以提高程序的健壮性和可靠性。
namespace WindowsFormsApplication1 { public partial class 修改员工信息 : Form { string SNO=""; public 修改员工信息() { InitializeComponent(); } public 修改员工信息(string sno,string sname,string dname,string dno,string gno) { InitializeComponent(); textBox1.Text=sno; textBox2.Text=sname; textBox3.Text=dno; textBox4.Text=dname; textBox5.Text=gno; } private void button1_Click(object sender, EventArgs e) { string sql = "select* from staff where sno='"SNO"'"; Dao dao=new Dao(); if(dao.Execute(sql)>0) { MessageBox.Show("修改成功"); this.Close(); } } } }
在这段代码中,你定义了一个Windows窗体应用程序的类`修改员工信息`,在这个类中定义了一个变量`SNO`,用于保存员工的编号。你还定义了一个无参的构造函数和一个带有参数的构造函数,用于初始化窗体上的文本框。
在`button1_Click`事件中,你定义了一个SQL查询语句,用于查询员工信息。然而,在这个SQL语句中,你没有将变量`SNO`的值与查询语句中的员工编号进行拼接,导致查询语句不正确。应该修改为:
```csharp
string sql = "select * from staff where sno='" + SNO + "'";
```
接着,你创建了一个`Dao`类对象,并调用其`Execute`方法来执行SQL语句。但是,在代码中并没有对文本框中的修改信息进行更新。你需要修改代码,将文本框中的信息更新到数据库中。比如,修改SQL语句为:
```csharp
string sql = "update staff set sname='" + textBox2.Text + "', dno='" + textBox3.Text + "', dname='" + textBox4.Text + "', gno='" + textBox5.Text + "' where sno='" + SNO + "'";
```
这个SQL语句将员工的姓名、部门编号、部门名称、工种编号更新到数据库中。最后,应该在执行SQL语句后关闭当前窗体,例如:
```csharp
if (dao.Execute(sql) > 0)
{
MessageBox.Show("修改成功");
this.Close();
}
```
阅读全文