C语言点名程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计介绍:
本系统能从数据库中调取学生信息数据库,对采取两种方式进行点名。
1、能根据输入的随机数产生一定数量的随机学生,然后进行一一点名。
2、能根据输入的扫描频率进行动态的扫描,但按下暂停按钮时会停在某个学生的信息上,
此时对该学生进行点名。
当点名后,没有学生答应时,可按加入缺课记录按钮。当系统提示添加成功,则添加成功。
代码解释:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace dianming
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.dataGridView1.DataSource = getDataTable("dbo.stuinfo");
changewith();
}
public void changewith()//当选择不同学生时,左侧的信息栏相应的变化。
{
this.txtnum.Text = this.dataGridView1[0,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.textname.Text = this.dataGridView1[1,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtage.Text = this.dataGridView1[2,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtgrade.Text = this.dataGridView1[3,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtsex.Text = this.dataGridView1[4,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtmajor.Text = this.dataGridView1[5,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtcount.Text = this.dataGridView1[6,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
this.txtphone.Text = this.dataGridView1[7,
dataGridView1.CurrentCell.RowIndex].Value.ToString();
}
public static string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=点名数据库;Integrated Security=True";//数据库连接字符串
public static bool ExecuteSQL(string sql)//用于执行传入的sql语句返回true则表示成功
{
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(sql, con);
try
{
con.Open();
cmd.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
con.Close();
con.Dispose();
cmd.Dispose();
}
}
public static DataSet GetDataSet(string sql)//获取数据集
{
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
try
{
con.Open();
da.Fill(ds);
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
finally
{
con.Close();
con.Dispose();
da.Dispose();
}
return ds;
}
public static DataTable getDataTable(string str)//返回table类型的对象
{
string sql = "select * from " + str;
DataSet ds = new DataSet();
SqlConnection con = new SqlConnection(connectionString);
SqlDataAdapter da = new SqlDataAdapter(sql, con);
try
{
con.Open();
da.Fill(ds);
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
finally
{
con.Close();
con.Dispose();
da.Dispose();
}
return ds.Tables[0];
}
private void button3_Click(object sender, EventArgs e)//开始按钮触发的事件
{
if(this.timer .Text!=null&&this.timer .Text !="")
this.timer1.Interval =Convert .ToInt32(this.timer.Text);
this.timer1.Enabled = true;
}
private void button4_Click(object sender, EventArgs e)//暂停按钮触发的事件
{
this.timer1.Enabled = false;
}
static public int[] GetNoRepeatRandNumber(int len)//获取len个随机数,以数组的形式