📄 bookinfo.cs
字号:
this.ClientSize = new System.Drawing.Size(696, 517);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.dataGrid1);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.toolBar1);
this.Name = "BookInfo";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "【图书档案管理】";
this.Load += new System.EventHandler(this.BookInfo_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
//------------创建窗体时读入数据和设置下拉列表------------
private void BookInfo_Load(object sender, System.EventArgs e)
{
da1.SelectCommand.Parameters[0].Value="%%";
da1.SelectCommand.Parameters[1].Value="%%";
da1.SelectCommand.Parameters[2].Value="%%";
da1.Fill(dataSet11);
//绑定数据导航
cmOrders=(CurrencyManager) BindingContext[dataSet11,"图书信息"];
//设置【出版社】,【书架名称】,【类型】三个下拉列表框设置下拉列表
setCombo("select distinct 类型名称 from 图书类型",cmb1);
setCombo("select distinct 出版社名称 from 出版社",cmb2);
setCombo("select distinct 书架名称 from 书架",cmb3);
}
//-------------输入sql语句和列表框,设置下拉选项-------------
private void setCombo(string sql,ComboBox cmb)
{
//清空下拉列表
cmb.Items.Clear();
string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
SqlConnection cn=new SqlConnection(strConn);
cn.Open();
SqlCommand cmd=cn.CreateCommand();
cmd.CommandText=sql;
SqlDataReader dr=cmd.ExecuteReader();
while(dr.Read())
{
cmb.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;
txt13.ReadOnly=!blnEdit;
cmb1.Enabled=blnEdit;
cmb2.Enabled=blnEdit;
cmb3.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="000000"+maxID.ToString();
break;
case 2:
txt5.Text="00000"+maxID.ToString();
break;
case 3:
txt5.Text="0000"+maxID.ToString();
break;
case 4:
txt5.Text="000"+maxID.ToString();
break;
case 5:
txt5.Text="00"+maxID.ToString();
break;
case 6:
txt5.Text="0"+maxID.ToString();
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -