📄 readerinfo.cs
字号:
//为读者类型下拉列表框设置下拉列表
string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
SqlConnection cn=new SqlConnection(strConn);
cn.Open();
SqlCommand cmd=cn.CreateCommand();
cmd.CommandText="select distinct 类型 from 读者类型";
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
cmb2.Items.Add(dr.GetValue(0).ToString().Trim());
}
}
//----------根据输入的信息,查询读者信息--------
private void btnSearch_Click(object sender, System.EventArgs e)
{
da1.SelectCommand.Parameters[0].Value="%%";
da1.SelectCommand.Parameters[1].Value="%%";
da1.SelectCommand.Parameters[2].Value="%%";
if(txt1.Text!="")
{
da1.SelectCommand.Parameters[0].Value="%"+txt1.Text+"%";
}
if(txt2.Text!="")
{
da1.SelectCommand.Parameters[1].Value="%"+txt2.Text+"%";
}
if(txt3.Text!="")
{
da1.SelectCommand.Parameters[2].Value="%"+txt3.Text+"%";
}
dataSet11.读者信息.Clear();
da1.Fill(dataSet11);
}
//---------------工具栏事务处理----------------
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if (e.Button.ToolTipText == "首记录")
{
this.dataGrid1.UnSelect(cmOrders.Position); //取消原选中的行
cmOrders.Position = 0;
this.dataGrid1.Select(cmOrders.Position); //选中当前行
this.dataGrid1.CurrentRowIndex = cmOrders.Position; //移动表头指示图标
return;
}
if (e.Button.ToolTipText == "上一记录")
{
if (cmOrders.Position >= 0)
{
this.dataGrid1.UnSelect(cmOrders.Position);
cmOrders.Position--;
this.dataGrid1.Select(cmOrders.Position);
this.dataGrid1.CurrentRowIndex = cmOrders.Position;
}
return;
}
if (e.Button.ToolTipText == "下一记录")
{
if (cmOrders.Position <= cmOrders.Count-1)
{
this.dataGrid1.UnSelect(cmOrders.Position);
cmOrders.Position++;
this.dataGrid1.Select(cmOrders.Position);
this.dataGrid1.CurrentRowIndex = cmOrders.Position;
}
return;
}
if (e.Button.ToolTipText == "尾记录")
{
this.dataGrid1.UnSelect(cmOrders.Position);
cmOrders.Position = cmOrders.Count-1;
this.dataGrid1.Select(cmOrders.Position);
this.dataGrid1.CurrentRowIndex = cmOrders.Position;
return;
}
if(e.Button.ToolTipText=="新增")
{
cmOrders.AddNew();
//设置默认值
SetDefaultValue();
SetModifyMode(true);
}
if(e.Button.ToolTipText=="修改")
{
SetModifyMode(true);
}
if(e.Button.ToolTipText=="删除")
{
DialogResult result=MessageBox.Show("确认删除?","删除数据",MessageBoxButtons.OKCancel);
if(result==DialogResult.OK)
if(cmOrders.Count>0)//立即从数据集中删除
{
cmOrders.RemoveAt(cmOrders.Position);
da1.Update(dataSet11);
}
else
MessageBox.Show("表中为空,已无可删除数据","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
if(e.Button.ToolTipText=="提交")
{
if(txt4.Text.Trim()=="")//检查字段
{
MessageBox.Show("请输入条形码","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
if(txt6.Text.Trim()=="")
{
MessageBox.Show("请输入姓名","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
cmOrders.EndCurrentEdit();
if(dataSet11.GetChanges()!=null)
{
try
{
da1.Update(dataSet11);
SetModifyMode(false);
}
catch(Exception express)
{
MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
dataSet11.RejectChanges();
}
}
return;
}
if (e.Button.ToolTipText == "取消")
{
try
{
cmOrders.CancelCurrentEdit(); //取消编辑
SetModifyMode(false);
}
catch(Exception express)
{
MessageBox.Show(express.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
return;
}
if(e.Button.ToolTipText=="退出")
{
this.Close();
}
}
//--------------对控件的属性做设置---------------
private void SetModifyMode(bool blnEdit)
{
//设置文本框和下拉列表框属性
txt4.ReadOnly=!blnEdit;
txt5.ReadOnly=!blnEdit;
txt6.ReadOnly=!blnEdit;
txt7.ReadOnly=!blnEdit;
txt8.ReadOnly=!blnEdit;
txt9.ReadOnly=!blnEdit;
txt10.ReadOnly=!blnEdit;
txt11.ReadOnly=!blnEdit;
txt12.ReadOnly=!blnEdit;
cmb1.Enabled=blnEdit;
cmb2.Enabled=blnEdit;
cmb3.Enabled=blnEdit;
cmb4.Enabled=blnEdit;
cmb5.Enabled=blnEdit;
cmb6.Enabled=blnEdit;
checkBox1.Enabled=blnEdit;
//设置搜索按钮属性
btnSearch.Enabled=!blnEdit;
}
//------------在新增数据时,设置默认值--------------
private void SetDefaultValue()
{
string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
SqlConnection cn=new SqlConnection(strConn);
cn.Open();
SqlCommand cmd=cn.CreateCommand();
cmd.CommandText="select max(编号) 最大编号 from 读者信息";
int maxID=1;//计算新编号
object result=cmd.ExecuteScalar();
if(result!=System.DBNull.Value)
{
maxID=Convert.ToInt32(result)+1;
}
int length=maxID.ToString().Length;
switch(length)
{
case 1:
txt5.Text="000"+maxID.ToString();
break;
case 2:
txt5.Text="00"+maxID.ToString();
break;
case 3:
txt5.Text="0"+maxID.ToString();
break;
case 4:
txt5.Text=maxID.ToString();
break;
}
cmb2.SelectedIndex=0;//选择默认类型
}
//-----显示和选择出生日期,登记日期,有效期-----
private void cmb4_DropDown(object sender, System.EventArgs e)
{
selectDate(cmb4);
}
private void cmb5_DropDown(object sender, System.EventArgs e)
{
selectDate(cmb5);
}
private void cmb6_DropDown(object sender, System.EventArgs e)
{
selectDate(cmb5);
}
//----------关闭日期控件的显示----------
private void cmb4_Leave(object sender, System.EventArgs e)
{
calen1.Visible=false;
}
private void cmb5_Leave(object sender, System.EventArgs e)
{
calen1.Visible=false;
}
private void cmb6_Leave(object sender, System.EventArgs e)
{
calen1.Visible=false;
}
//-----------单击下拉列表框下拉箭头时显示日期以供选择---------------
private void selectDate(ComboBox cb)
{
calen1.Left=cb.Left;//设置日期控件的位置
calen1.Top=cb.Top-calen1.Height-10;
calen1.SelectionStart=Convert.ToDateTime(cb.Text);//日历显示的时间为数据时间
calen1.SelectionEnd=Convert.ToDateTime(cb.Text);
calen1.Visible=true;//显示日期
calen1.Show();
}
//-----------从日历控件中选择日期信息------------
private void calen1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
//判断是由哪个下拉列表框调出日历,以便回馈日期信息
if(calen1.Left==cmb4.Left)
cmb4.Text=calen1.SelectionEnd.ToString();
if(calen1.Left==cmb5.Left)
cmb5.Text=calen1.SelectionEnd.ToString();
if(calen1.Left==cmb6.Left)
cmb6.Text=calen1.SelectionEnd.ToString();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -