订单编号\], myDataSet.Tables[\].Columns[\订单编号\]); dataGrid1.DataSource = myDataSet;
dataGrid1.DataMember = \; dataGrid2.DataSource = myDataSet;
dataGrid2.DataMember = \;
comboBox1.DataSource = myDataSet;
comboBox1.DisplayMember = \订单编号\;
txtCustomer.DataBindings.Add(\, myDataSet, \客户名称\); txtDays.DataBindings.Add(\, myDataSet, \订购日期\);
}
privatevoid button1_Click(object sender, EventArgs e) { this.Close(); } } }
程序运行:
6. 使用BindingManagerBase对象与TextBox控件做数据绑定的操作,且可动态浏览BOOK数据表的上一条、下一条记录。 程序设计:
数据库设计:
程序代码:
namespace BuildingManagerBase1 {
publicpartialclassForm1 : Form {
BindingManagerBaseBm;
public Form1() {
InitializeComponent(); }
privatevoid Form1_Load(object sender, EventArgs e) {
stringselectCmd = \书号, name as 书名, price as 单价, qty as 数量From BOOK\;
stringconnStr = \; OleDbConnection conn = newOleDbConnection(connStr); DataSetmyDataSet = newDataSet(); conn.Open();
OleDbDataAdaptermyAdapter = newOleDbDataAdapter(selectCmd, conn); myAdapter.Fill(myDataSet, \);
BindingbindId = newBinding(\, myDataSet, \书号\);
BindingbindName = newBinding(\, myDataSet, \书名\); BindingbindPrice =newBinding(\, myDataSet, \单价\); BindingbindQty = newBinding(\, myDataSet, \数量\);
txtId.DataBindings.Add(bindId);
txtName.DataBindings.Add(bindName); txtPrice.DataBindings.Add(bindPrice); txtQty.DataBindings.Add(bindQty);
Bm = this.BindingContext[myDataSet, \]; CheckBm(); }
privatevoidCheckBm() {
if (Bm.Position == 0) {
btnFirst.Enabled = false; btnPrev.Enabled = false; btnNext.Enabled = true; btnLast.Enabled = true; }
elseif (Bm.Position == (Bm.Count - 1)) {
btnFirst.Enabled = true; btnPrev.Enabled = true; btnNext.Enabled = false; btnLast.Enabled = false; } else
{
btnFirst.Enabled = true; btnPrev.Enabled = true; btnNext.Enabled = true; btnLast.Enabled = true; }
lblShow.Text = (Bm.Position + 1) + \ + Bm.Count; }
privatevoidbtnFirst_Click(object sender, EventArgs e) {
Bm.Position = 0; CheckBm();
}
privatevoidbtnPrev_Click(object sender, EventArgs e) {
if (Bm.Position> 0) { Bm.Position -= 1; } CheckBm(); }
privatevoidbtnNext_Click(object sender, EventArgs e) {
if (Bm.Position< (Bm.Count - 1)) { Bm.Position += 1; } CheckBm(); }
privatevoidbtnLast_Click(object sender, EventArgs e) {
Bm.Position = Bm.Count - 1; CheckBm(); } } }
程序运行:
四、实验总结
1、连接数据库后对数据库进行修改操作时,在网上查了update 的语句格式,结果都是错的,图书馆找了本书仔细查了才发现自己少写了一个’号。
例:update PERSON set id_position='\ + this.txtPosition.Text + \ + this.txtTel.Text + \ + this.txtSalary.Text + \ + this.txtName.Text+\;
2、不知道用C#表达出,C#中Replace并不能像这样使用: PublicFunctionGetSqlStr(ByValstrAsString) AsString ReturnReplace(str, \, \) EndFunction
3、使用myDataSet.Relations.Add()的语法为。
例:myDataSet.Relations.Add(\,
myDataSet.Tables[\].Columns[\订单编号\], myDataSet.Tables[\].Columns[\订单编号\]);
5、不要乱给自己的工程起名字,起了一个DataView的名字,结果在用到DataView这个类时,怎么找都找不到,只能找到一个方法,不可以声明变量。
4、找到一个可以查询C#各种类用法的网站,非常好:
https://msdn.microsoft.com/zh-cn/library/system.windows.forms.bindingcontext(VS.80).aspx