C# WinForm 实现增删改查等功能(Access版) 系列之二-增加
2010-04-01 20:12
766 查看
增加一条记录模块设计与实现
设计:点击增加按钮弹出一个窗体,在窗体的文本框中填充数据,点击保存按钮,当前添加数据窗体自动关闭,同时刷新主窗体,更新并显示数据。
实现:需要在增加按钮事件中传递一个主窗体的指针。
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 增加ToolStripMenuItem_Click(object sender, EventArgs e)
{
ResumeAddOrUpdate resumeAdd = new ResumeAddOrUpdate(this);
resumeAdd.SaveOrUpdate("Save"); //增加操作
resumeAdd.Width = this.Width; //设置宽度,高度
resumeAdd.Height = this.Height;
resumeAdd.Top = this.Top;
resumeAdd.Left = this.Left;
resumeAdd.StartPosition = FormStartPosition.CenterScreen;
resumeAdd.BackColor = Color.White;
resumeAdd.Show();
}
在ResumeAddOrUpdate中:
private ResumeTest resumeTest; //定义一个父窗体
/// <summary>
/// 添加时的操作
/// </summary>
/// <param name="_resumeTest"></param>
public ResumeAddOrUpdate(ResumeTest _resumeTest) //这里需要从父窗体中传递一个this指针
{
InitializeComponent();
this.resumeTest = _resumeTest;
}
private void ResumeAdd_Load(object sender, EventArgs e)
{
txtSelfCommand.Multiline = true; //设置成多行多列显示
picPerson.SizeMode = PictureBoxSizeMode.StretchImage; //图片自适应picturebox大小
// lblImage.Text = "0";//初始化是否更新图片,为空时不更新图片,不为空时则更新图片
}
/// <summary>
/// 增加操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
…………
//手动代码保存数据至数据库
OleDbConnection conn = GetConnection();
string sqlText = "insert into MResume(姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价,图片) values(@name,@sex,@datetimes,@years,@cardStyle,@cardNumber,@address,@email,@phoneNumber,@homeNumber,@selftCommand,@timeStamp)";
// OleDbTransaction transaction = null;
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
//transaction = conn.BeginTransaction();
// cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@sex", sex);
cmd.Parameters.AddWithValue("@datetimes", datetimes);
cmd.Parameters.AddWithValue("@years", years);
cmd.Parameters.AddWithValue("@cardStyle", cardStyle);
cmd.Parameters.AddWithValue("@cardNumber", cardNumber);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@email", email);
cmd.Parameters.AddWithValue("@phoneNumber", phoneNumber);
cmd.Parameters.AddWithValue("@homeNumber", homeNumber);
cmd.Parameters.AddWithValue("@selftCommand", selftCommand);//timeStamp
cmd.Parameters.AddWithValue("@timeStamp", lblImage.Text);
try
{
conn.Open();
int i = cmd.ExecuteNonQuery();
// transaction.Commit();
if (i > 0)
{
MessageBox.Show("添加成功!","提示");
// this.resumeTest.Refresh();
this.resumeTest.RefreshDataGridView(sender,e);//刷新窗体
this.Close();
}
/*DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
*/
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
}
/// <summary>
/// 检查是否有已经存在相同的名称
/// true 已经存在相同用户名,不能添加数据
/// false 不存在相同的用户名,可以添加
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public bool CheckTheSameName(string name)
{
bool result = false; //
int mcount = 0;
OleDbConnection conn = GetConnection();
string sqlText = "select count(*) as 结果 from MResume where 姓名=@name";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@name", name);
try
{
conn.Open();
// int i = cmd.ExecuteNonQuery();
OleDbDataReader datareader = cmd.ExecuteReader();
if (datareader.Read())
{
mcount = int.Parse(datareader["结果"].ToString());
}
if (mcount > 0)
{
// MessageBox.Show("已经存在相同用户名!", "提示");
result = true;
}
else
{
// MessageBox.Show("不存在相同用户名!", "提示");
result = false;
}
/*DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
*/
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
result = true;
}
finally
{
conn.Close();
}
return result;
}
设计:点击增加按钮弹出一个窗体,在窗体的文本框中填充数据,点击保存按钮,当前添加数据窗体自动关闭,同时刷新主窗体,更新并显示数据。
实现:需要在增加按钮事件中传递一个主窗体的指针。
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 增加ToolStripMenuItem_Click(object sender, EventArgs e)
{
ResumeAddOrUpdate resumeAdd = new ResumeAddOrUpdate(this);
resumeAdd.SaveOrUpdate("Save"); //增加操作
resumeAdd.Width = this.Width; //设置宽度,高度
resumeAdd.Height = this.Height;
resumeAdd.Top = this.Top;
resumeAdd.Left = this.Left;
resumeAdd.StartPosition = FormStartPosition.CenterScreen;
resumeAdd.BackColor = Color.White;
resumeAdd.Show();
}
在ResumeAddOrUpdate中:
private ResumeTest resumeTest; //定义一个父窗体
/// <summary>
/// 添加时的操作
/// </summary>
/// <param name="_resumeTest"></param>
public ResumeAddOrUpdate(ResumeTest _resumeTest) //这里需要从父窗体中传递一个this指针
{
InitializeComponent();
this.resumeTest = _resumeTest;
}
private void ResumeAdd_Load(object sender, EventArgs e)
{
txtSelfCommand.Multiline = true; //设置成多行多列显示
picPerson.SizeMode = PictureBoxSizeMode.StretchImage; //图片自适应picturebox大小
// lblImage.Text = "0";//初始化是否更新图片,为空时不更新图片,不为空时则更新图片
}
/// <summary>
/// 增加操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSave_Click(object sender, EventArgs e)
{
…………
//手动代码保存数据至数据库
OleDbConnection conn = GetConnection();
string sqlText = "insert into MResume(姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价,图片) values(@name,@sex,@datetimes,@years,@cardStyle,@cardNumber,@address,@email,@phoneNumber,@homeNumber,@selftCommand,@timeStamp)";
// OleDbTransaction transaction = null;
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
//transaction = conn.BeginTransaction();
// cmd.Transaction = transaction;
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@sex", sex);
cmd.Parameters.AddWithValue("@datetimes", datetimes);
cmd.Parameters.AddWithValue("@years", years);
cmd.Parameters.AddWithValue("@cardStyle", cardStyle);
cmd.Parameters.AddWithValue("@cardNumber", cardNumber);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@email", email);
cmd.Parameters.AddWithValue("@phoneNumber", phoneNumber);
cmd.Parameters.AddWithValue("@homeNumber", homeNumber);
cmd.Parameters.AddWithValue("@selftCommand", selftCommand);//timeStamp
cmd.Parameters.AddWithValue("@timeStamp", lblImage.Text);
try
{
conn.Open();
int i = cmd.ExecuteNonQuery();
// transaction.Commit();
if (i > 0)
{
MessageBox.Show("添加成功!","提示");
// this.resumeTest.Refresh();
this.resumeTest.RefreshDataGridView(sender,e);//刷新窗体
this.Close();
}
/*DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
*/
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
}
/// <summary>
/// 检查是否有已经存在相同的名称
/// true 已经存在相同用户名,不能添加数据
/// false 不存在相同的用户名,可以添加
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public bool CheckTheSameName(string name)
{
bool result = false; //
int mcount = 0;
OleDbConnection conn = GetConnection();
string sqlText = "select count(*) as 结果 from MResume where 姓名=@name";
OleDbCommand cmd = new OleDbCommand(sqlText, conn);
cmd.Parameters.AddWithValue("@name", name);
try
{
conn.Open();
// int i = cmd.ExecuteNonQuery();
OleDbDataReader datareader = cmd.ExecuteReader();
if (datareader.Read())
{
mcount = int.Parse(datareader["结果"].ToString());
}
if (mcount > 0)
{
// MessageBox.Show("已经存在相同用户名!", "提示");
result = true;
}
else
{
// MessageBox.Show("不存在相同用户名!", "提示");
result = false;
}
/*DataTable dt = new DataTable();
OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn);
oda.Fill(dt);
dataGridView1.DataSource = dt;
*/
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
result = true;
}
finally
{
conn.Close();
}
return result;
}
相关文章推荐
- C# WinForm 实现增删改查等功能(Access版) 系列之二-增加
- C# WinForm 实现增删改查等功能(Access版) 系列之三
- C# WinForm 实现增删改查等功能(Access版) 系列之七-图片处理
- C# WinForm 实现增删改查等功能(Access版) 系列之三-更新
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- C# WinForm 实现增删改查等功能(Access版) 系列之六-分页
- C# WinForm 实现增删改查等功能(Access版) 系列之四
- C# WinForm 实现增删改查等功能(Access版) 系列之五-查询
- C# WinForm 实现增删改查等功能(Access版) 系列之三-更新
- C# WinForm 实现增删改查等功能(Access版) 系列之六-分页
- C# WinForm 实现增删改查等功能(Access版) 系列之一-显示
- C# WinForm 实现增删改查等功能(Access版) 系列之七-图片处理
- C# WinForm 实现增删改查等功能(Access版) 系列之五-查询
- C# WinForm 实现增删改查等功能(Access版) 系列之四-删除
- C# WinForm 实现增删改查等功能(Access版) 系列之二
- C# WinForm 实现增删改查等功能(Access版) 系列之六-分页
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel
- C# WinForm 实现增删改查等功能(Access版) 系列之一
- C# WinForm 实现增删改查等功能(Access版) 系列之一-显示
- C# WinForm 实现增删改查等功能(Access版) 系列之八-导出数据到Excel