前提:创建数据库表,同文章:WinForm 数据库增、删、改、查实例
实现功能:
学生信息的模糊查询,选择要查询的依据,点击“查询”后弹出相应的学生信息,注意是模糊查询。
效果图如下:
代码如下:
//实例化对象,用于开启程序和数据库之间的连接
SqlConnection conn;
//窗体Load事件
private void _4_3_Load(object sender, EventArgs e)
{
//连接数据库
conn = new SqlConnection(@"Integrated Security=SSPI;
Persist Security Info=False;Initial Catalog=WinFormSQL;Data Source=localhost");
//打开数据库连接
conn.Open();
}
//“查询”按钮的Click事件
private void button1_Click(object sender, EventArgs e)
{
//实例化对象,用于对数据库发出指令
SqlCommand cmd = new SqlCommand();
//向数据库发出打开/关闭指令
cmd.Connection = conn;
//定义字符串变量,用于获取结果
string result;
//选中“按姓名查询”
if (radioButton1.Checked)
{
//执行“查询”指令(按姓名模糊查找)
cmd.CommandText = "select * from Student_Info where studentName like'" + textBox1.Text + "%'";
result = "";
//ExecuteReader()方法返回DataReader类型值
SqlDataReader dr = cmd.ExecuteReader();
//看一下dr存不存在记录,即是否查找到
if (dr.HasRows)
{
//查找到后进行while遍历
while (dr.Read())
{
//定义字符串变量s,用于暂存一条遍历结果
string s = "studentID:{0} studentName:{1} studentSex:{2} studentAge:{3} studentClass:{4}";
s = string.Format(s, dr["studentID"], dr["studentName"], dr["studentSex"], dr["studentAge"], dr["studentClass"]);
//变量result累加存储所有遍历结果
result += s + "\n";
}
//对话框显示result
MessageBox.Show(result);
}
else
{
//dr无记录时弹出对话框进行提示
MessageBox.Show("无记录");
}
//关闭dr
dr.Close();
}
//选中“按学号查询”-----以下内容同上
if (radioButton2.Checked)
{
//执行“查询”指令(按学号模糊查找)
cmd.CommandText = "select * from Student_Info where studentID like'" + textBox1.Text + "%'";
result = "";
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
string s = "studentID:{0} studentName:{1} studentSex:{2} studentAge:{3} studentClass:{4}";
s = string.Format(s, dr["studentID"], dr["studentName"], dr["studentSex"], dr["studentAge"], dr["studentClass"]);
result += s + "\n";
}
MessageBox.Show(result);
}
else
{
MessageBox.Show("无记录");
}
dr.Close();
}
}
代码均为原创,存在不足还请见谅!如有转载请注明来源: www.dreamload.cn/blog/?p=450&preview=true (洋葱先生)