您的位置:首页 > 编程语言 > C#

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: