首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

C#Winfrom数据库增删改查实例--SQL操作版

2023-11-08 来源:花图问答

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;using System.Configuration;namespace TestDBOper{ public partial class fmMain : Form { static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; static DBState dbs; enum DBState { sAdd, sMod, sDel, sBro } public fmMain() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.dataGridView1.AutoGenerateColumns = false; //不要自动生成列 btnQuery_Click(sender, e); } private void btnExit_Click(object sender, EventArgs e) { this.Close(); } //查询 private void btnQuery_Click(object sender, EventArgs e) { int p = 0; if (this.dataGridView1.CurrentCell != null) { p = this.dataGridView1.CurrentCell.RowIndex; } OleDbConnection conn = new OleDbConnection(connstr); OleDbDataAdapter da = new OleDbDataAdapter("select * from users where username like '%" + this.textBox1.Text + "%'", conn); DataTable dt = new DataTable(); conn.Open(); da.Fill(dt); this.dataGridView1.DataSource = dt; if (p < dataGridView1.Rows.Count) { this.dataGridView1.CurrentCell = dataGridView1.Rows[p].Cells[0]; } toolStripStatusLabel1.Text = "共查询到 " + dt.Rows.Count.ToString() + " 条数据"; dbs = DBState.sBro; SetBtn(); } //增加 private void btnAdd_Click(object sender, EventArgs e) { dbs = DBState.sAdd; SetBtn(); UserTxtClear(); } //修改 private void btnMod_Click(object sender, EventArgs e) { dbs = DBState.sMod; SetBtn(); UserRefresh(); } //删除 private void btnDel_Click(object sender, EventArgs e) { if (MessageBox.Show("您确定要删除吗?", "提示", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } string sql = "delete from users where id =@id"; OleDbConnection conn = new OleDbConnection(connstr); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbParameter[] param = { new OleDbParameter("@id", this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells["id"].Value.ToString()) }; cmd.Parameters.AddRange(param); conn.Open(); int n = 0; n = cmd.ExecuteNonQuery(); conn.Close(); if (n != 0) { MessageBox.Show("删除成功"); } else { MessageBox.Show("删除失败"); } btnQuery_Click(sender, e); } //保存 private void btnSave_Click(object sender, EventArgs e) { if (txtUserName.Text.Trim()=="") { MessageBox.Show("姓名 不能为空"); return; } if (txtUserSex.Text.Trim()=="") { MessageBox.Show("性别 不能为空"); return; } if (txtUserAge.Text.Trim()=="") { MessageBox.Show("年龄不能为空"); return; } if (dbs == DBState.sAdd) { string sql = "insert into Users (username,userage,usersex) values (@username,@userage,@usersex)"; OleDbConnection conn = new OleDbConnection(connstr); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbParameter[] param ={ new OleDbParameter("@username",txtUserName.Text), new OleDbParameter("@userage",txtUserAge.Text), new OleDbParameter("@usersex",txtUserSex.Text) }; cmd.Parameters.AddRange(param); conn.Open(); int n = 0; n = cmd.ExecuteNonQuery(); conn.Close(); if (n != 0) { MessageBox.Show("增加成功"); } else { MessageBox.Show("增加失败"); } } else if (dbs == DBState.sMod) { string sql = "update users set username=@username,userage=@userage,usersex=@usersex where id= @id"; OleDbConnection conn = new OleDbConnection(connstr); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbParameter[] param ={ new OleDbParameter("@username",txtUserName.Text), new OleDbParameter("@userage",txtUserAge.Text), new OleDbParameter("@usersex",txtUserSex.Text), new OleDbParameter("@id",this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["id"].Value.ToString()) }; cmd.Parameters.AddRange(param); conn.Open(); int n = 0; n = cmd.ExecuteNonQuery(); conn.Close(); if (n != 0) { MessageBox.Show("修改成功"); } else { MessageBox.Show("修改失败"); } } dbs = DBState.sBro; SetBtn(); btnQuery_Click(sender, e); } //取消 private void btnCancel_Click(object sender, EventArgs e) { dbs = DBState.sBro; SetBtn(); } //---------------------------------------------- 功能函数 ------------------------------------------------ //清空输入框 private void UserTxtClear() { txtUserName.Text = ""; txtUserSex.Text = ""; txtUserAge.Text = ""; } //刷新用户 private void UserRefresh() { txtUserName.Text = this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["username"].Value.ToString(); txtUserSex.Text = this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["usersex"].Value.ToString(); txtUserAge.Text = this.dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["userage"].Value.ToString(); } //设置按钮状态 private void SetBtn() { btnAdd.Enabled = dbs == DBState.sBro; btnMod.Enabled = dbs == DBState.sBro; btnDel.Enabled = dbs == DBState.sBro; btnQuery.Enabled = dbs == DBState.sBro; btnSave.Enabled = dbs != DBState.sBro; btnCancel.Enabled = dbs != DBState.sBro; } private void dataGridView1_DoubleClick(object sender, EventArgs e) { btnMod_Click(sender, e); } }}

C#Winfrom数据库增删改查实例--SQL操作版

标签:c# winfrom 增删改查

小编还为您整理了以下内容,可能对您也有帮助:

简单的c#winform sql数据库的增删改查功能 最好把代码和数据库都给我 谢谢啦 急!

整删改查 都是sql语句 不分Winform和 Web

下面的是你需要的 我的表命叫 story

#region Method

/// <summary>

/// 增加一条数据

/// </summary>

public int Add(BW.Model.story model)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("insert into story(");

strSql.Append("title,contents,add_time)");

strSql.Append(" values (");

strSql.Append("@title,@contents,@add_time)");

strSql.Append(";select @@IDENTITY");

SqlParameter[] parameters = {

new SqlParameter("@title", SqlDbType.NVarChar,550),

new SqlParameter("@contents", SqlDbType.NVarChar),

new SqlParameter("@add_time", SqlDbType.DateTime)};

parameters[0].Value = model.title;

parameters[1].Value = model.contents;

parameters[2].Value = model.add_time;

object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);

if (obj == null)

{

return 0;

}

else

{

return Convert.ToInt32(obj);

}

}

/// <summary>

/// 更新一条数据

/// </summary>

public bool Update(BW.Model.story model)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("update story set ");

strSql.Append("title=@title,");

strSql.Append("contents=@contents,");

strSql.Append("add_time=@add_time");

strSql.Append(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@title", SqlDbType.NVarChar,550),

new SqlParameter("@contents", SqlDbType.NVarChar),

new SqlParameter("@add_time", SqlDbType.DateTime),

new SqlParameter("@id", SqlDbType.Int,4)};

parameters[0].Value = model.title;

parameters[1].Value = model.contents;

parameters[2].Value = model.add_time;

parameters[3].Value = model.id;

int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 删除一条数据

/// </summary>

public bool Delete(int id)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("delete from story ");

strSql.Append(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.Int,4)

};

parameters[0].Value = id;

int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 批量删除数据

/// </summary>

public bool DeleteList(string idlist )

{

StringBuilder strSql=new StringBuilder();

strSql.Append("delete from story ");

strSql.Append(" where id in ("+idlist + ") ");

int rows=DbHelperSQL.ExecuteSql(strSql.ToString());

if (rows > 0)

{

return true;

}

else

{

return false;

}

}

/// <summary>

/// 得到一个对象实体

/// </summary>

public BW.Model.story GetModel(int id)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select top 1 id,title,contents,add_time from story ");

strSql.Append(" where id=@id");

SqlParameter[] parameters = {

new SqlParameter("@id", SqlDbType.Int,4)

};

parameters[0].Value = id;

BW.Model.story model=new BW.Model.story();

DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters);

if(ds.Tables[0].Rows.Count>0)

{

if(ds.Tables[0].Rows[0]["id"]!=null && ds.Tables[0].Rows[0]["id"].ToString()!="")

{

model.id=int.Parse(ds.Tables[0].Rows[0]["id"].ToString());

}

if(ds.Tables[0].Rows[0]["title"]!=null && ds.Tables[0].Rows[0]["title"].ToString()!="")

{

model.title=ds.Tables[0].Rows[0]["title"].ToString();

}

if(ds.Tables[0].Rows[0]["contents"]!=null && ds.Tables[0].Rows[0]["contents"].ToString()!="")

{

model.contents=ds.Tables[0].Rows[0]["contents"].ToString();

}

if(ds.Tables[0].Rows[0]["add_time"]!=null && ds.Tables[0].Rows[0]["add_time"].ToString()!="")

{

model.add_time=DateTime.Parse(ds.Tables[0].Rows[0]["add_time"].ToString());

}

return model;

}

else

{

return null;

}

}

/// <summary>

/// 获得数据列表

/// </summary>

public DataSet GetList(string strWhere)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select id,title,contents,add_time ");

strSql.Append(" FROM story ");

if(strWhere.Trim()!="")

{

strSql.Append(" where "+strWhere);

}

return DbHelperSQL.Query(strSql.ToString());

}

/// <summary>

/// 获得前几行数据

/// </summary>

public DataSet GetList(int Top,string strWhere,string filedOrder)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select ");

if(Top>0)

{

strSql.Append(" top "+Top.ToString());

}

strSql.Append(" id,title,contents,add_time ");

strSql.Append(" FROM story ");

if(strWhere.Trim()!="")

{

strSql.Append(" where "+strWhere);

}

strSql.Append(" order by " + filedOrder);

return DbHelperSQL.Query(strSql.ToString());

}

/// <summary>

/// 获取记录总数

/// </summary>

public int GetRecordCount(string strWhere)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("select count(1) FROM story ");

if(strWhere.Trim()!="")

{

strSql.Append(" where "+strWhere);

}

object obj = DbHelperSQL.GetSingle(strSql.ToString());

if (obj == null)

{

return 0;

}

else

{

return Convert.ToInt32(obj);

}

}

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)

{

StringBuilder strSql=new StringBuilder();

strSql.Append("SELECT * FROM ( ");

strSql.Append(" SELECT ROW_NUMBER() OVER (");

if (!string.IsNullOrEmpty(orderby.Trim()))

{

strSql.Append("order by T." + orderby );

}

else

{

strSql.Append("order by T.id desc");

}

strSql.Append(")AS Row, T.* from story T ");

if (!string.IsNullOrEmpty(strWhere.Trim()))

{

strSql.Append(" WHERE " + strWhere);

}

strSql.Append(" ) TT");

strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);

return DbHelperSQL.Query(strSql.ToString());

}

/*

/// <summary>

/// 分页获取数据列表

/// </summary>

public DataSet GetList(int PageSize,int PageIndex,string strWhere)

{

SqlParameter[] parameters = {

new SqlParameter("@tblName", SqlDbType.VarChar, 255),

new SqlParameter("@fldName", SqlDbType.VarChar, 255),

new SqlParameter("@PageSize", SqlDbType.Int),

new SqlParameter("@PageIndex", SqlDbType.Int),

new SqlParameter("@IsReCount", SqlDbType.Bit),

new SqlParameter("@OrderType", SqlDbType.Bit),

new SqlParameter("@strWhere", SqlDbType.VarChar,1000),

};

parameters[0].Value = "story";

parameters[1].Value = "id";

parameters[2].Value = PageSize;

parameters[3].Value = PageIndex;

parameters[4].Value = 0;

parameters[5].Value = 0;

parameters[6].Value = strWhere;

return DbHelperSQL.RunProcere("UP_GetRecordByPage",parameters,"ds");

}*/

#endregion Method

求C#winform 数据库类(连接和增删改查)和在窗口中的调用代码

C# 中分为三层,在数据访问层中写增删查改的代码和专门连接数据库的一个类写Connection;在窗口中调用的代码一般写在表示层。

C#怎么实现对SQL数据库增删改查

考试估计你也没时间写DBHelper类了,
我简单描述一下,也有代码供你参考
//拼写SQL语句增加
string strSql = "insert 表名 (列名,列名,列名,列名)"
+" values ('{0}',{1},'{2}','{3}')";

strSql = string.Format(strSql, 文本框插入值,文本框插入值, 文本框插入值, 文本框插入值);

try
{
//创建 Command 对象
SqlCommand comm = new SqlCommand(strSql, conn);

//打开连接
conn.Open();

//执行命令
int iResult = comm.ExecuteNonQuery();

if (iResult != 1)
{
MessageBox.Show("添加失败!");
}
else
{
MessageBox.Show("添加成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}

C#怎么实现对SQL数据库增删改查

考试估计你也没时间写DBHelper类了,
我简单描述一下,也有代码供你参考
//拼写SQL语句增加
string strSql = "insert 表名 (列名,列名,列名,列名)"
+" values ('{0}',{1},'{2}','{3}')";

strSql = string.Format(strSql, 文本框插入值,文本框插入值, 文本框插入值, 文本框插入值);

try
{
//创建 Command 对象
SqlCommand comm = new SqlCommand(strSql, conn);

//打开连接
conn.Open();

//执行命令
int iResult = comm.ExecuteNonQuery();

if (iResult != 1)
{
MessageBox.Show("添加失败!");
}
else
{
MessageBox.Show("添加成功!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}

C#窗体实现SQL的增删改查功能

into dbo.人员管理 values (‘符显耀‘, ‘xiany.fu‘, 23) --增加
   insert into dbo.人员管理 values(‘曾嘉年‘, ‘jn.zeng‘, 23)

技术分享

 增加两行

3、SQL UPDATE 语句(改)
  Update 语句用于修改表中的数据。
  语法:(更新哪个表,设置某列=新值在列=某值处)
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

   update dbo.人员管理 set 姓名=‘王小耀‘ where 姓名=‘符显耀‘ --修改

技术分享

             更改


4、SQL DELETE 语句(删)
  DELETE 语句用于删除表中的行。
  语法:(从表中删除 列名称=值 的行)
    DELETE FROM 表名称 WHERE 列名称 = 值
    DELETE FROM 表名称--删除表中的所有行

   delete from dbo.人员管理 where 姓名=‘曾嘉年‘ --删除

技术分享

             删除

5、SQL SELECT 语句(查)
   SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
  语法:(选出哪些列从表中)
    SELECT 列名称 FROM 表名称
    SELECT * FROM 表名称 --选出所有列从表中

   select * from dbo.人员管理 --查找

 

SQL基础教程--实现增删查改功能(W3School)

标签:

C#窗体实现SQL的增删改查功能

into dbo.人员管理 values (‘符显耀‘, ‘xiany.fu‘, 23) --增加
   insert into dbo.人员管理 values(‘曾嘉年‘, ‘jn.zeng‘, 23)

技术分享

 增加两行

3、SQL UPDATE 语句(改)
  Update 语句用于修改表中的数据。
  语法:(更新哪个表,设置某列=新值在列=某值处)
    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

   update dbo.人员管理 set 姓名=‘王小耀‘ where 姓名=‘符显耀‘ --修改

技术分享

             更改


4、SQL DELETE 语句(删)
  DELETE 语句用于删除表中的行。
  语法:(从表中删除 列名称=值 的行)
    DELETE FROM 表名称 WHERE 列名称 = 值
    DELETE FROM 表名称--删除表中的所有行

   delete from dbo.人员管理 where 姓名=‘曾嘉年‘ --删除

技术分享

             删除

5、SQL SELECT 语句(查)
   SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
  语法:(选出哪些列从表中)
    SELECT 列名称 FROM 表名称
    SELECT * FROM 表名称 --选出所有列从表中

   select * from dbo.人员管理 --查找

 

SQL基础教程--实现增删查改功能(W3School)

标签:

用SQL语句随便写一条数据库增删改查语句

一、增:有2种方法

1.使用insert插入单行数据:

语法:insert [into] <表名> [列名] values <列值>

例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

注意:如果省略表名,将依次插入所有列

2.使用insert,select语句将现有表中的 数据添加到已有的新表中

语法:insert into <已有的新表> <列名> select <原表列名> from <原表名>

例:insert into addressList ('姓名','地址','电子邮件')select name,address,email          

from  Strdents 

注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

二、删:有2中方法

1.使用delete删除数据某些数据

语法:delete from <表名> [where <删除条件>]    

例:delete from a where name='王伟华'(删除表a中列值为王伟华的行)  

注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

2.使用truncate table 删除整个表的数据

语法:truncate table <表名>

例:truncate table addressList

注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

用于有外建约束引用的表

三、改  使用update更新修改数据         

语法:update <表名> set <列名=更新值> [where <更新条件>]

例:update addressList set 年龄=18 where 姓名='王伟华'

注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来条件,如果不选则整个表的所有行都被更新

四、查

语法:select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列  

名>[asc或desc]]

1).查询所有数据行和列

例:select * from a

说明:查询a表中所有行和

2).查询部分行列--条件查询

例:select i,j,k   from  a   where f=5

说明:查询表a中f=5的所有行,并显示i,j,k3列

3).在查询中使用AS更改列名

例:select name as 姓名 from a where  gender='男'

说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

4).查询空行

例:select name from a where email is null

说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

来判断是否为空行

5).在查询中使用常量

例:select name '北京' as 地址 from a

说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

6).查询返回行数(关键字:top )

例1:select top 6 name from a

说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

用rownum替代)

select   *   from   a where   rownum<6  

7).查询排序(关键字:order by , asc , desc)

例:select name

from a

where grade>=60

order by desc

说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序

SQl常用增删改查

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。今天就给大家介绍数据库的基本SQL操作增删改查!!!

材料/工具

电脑SQL Server

为表添加主键

alter table

主键添加前:

主键添加后:

插入数据

insert into

查询

查询全部记录:

select * from

条件查询(查询全部字段用*,查询指定字段也可以):

select

带有Sql函数的查询:

select count(*) from

模糊查询(like语法):

select

删除(Delete)

delete from

更新(update)

update

为表添加一列

注意:列增加后不可删除。DB2中的列加上后数据类型也不能改变,唯一能改变的是增加varchar 的长度。

alter table

SQl常用增删改查

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。今天就给大家介绍数据库的基本SQL操作增删改查!!!

材料/工具

电脑SQL Server

为表添加主键

alter table

主键添加前:

主键添加后:

插入数据

insert into

查询

查询全部记录:

select * from

条件查询(查询全部字段用*,查询指定字段也可以):

select

带有Sql函数的查询:

select count(*) from

模糊查询(like语法):

select

删除(Delete)

delete from

更新(update)

update

为表添加一列

注意:列增加后不可删除。DB2中的列加上后数据类型也不能改变,唯一能改变的是增加varchar 的长度。

alter table

C#操作Sql server2005 数据库,实现增删改查功能

数据库名 hospital

表名 office

字段 officeName(vachar(30)),officeType(vachar(30)),department(vachar(30))

代码:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Data.SqlClient;

namespace Test

{

/// <summary>

/// Form1 的摘要说明。

/// </summary>

public class Form1 : System.Windows.Forms.Form

{

//声明连接

private SqlConnection conn;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.TextBox textBox3;

private System.Windows.Forms.Button button2;

private System.Windows.Forms.DataGrid dataGrid1;

private System.Windows.Forms.Button button4;

/// <summary>

/// 必需的设计器变量。

/// </summary>

private System.ComponentModel.Container components = null;

public Form1()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent();

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows 窗体设计器生成的代码

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

this.button1 = new System.Windows.Forms.Button();

this.textBox1 = new System.Windows.Forms.TextBox();

this.textBox2 = new System.Windows.Forms.TextBox();

this.textBox3 = new System.Windows.Forms.TextBox();

this.button2 = new System.Windows.Forms.Button();

this.dataGrid1 = new System.Windows.Forms.DataGrid();

this.button4 = new System.Windows.Forms.Button();

((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();

this.SuspendLayout();

//

// button1

//

this.button1.Location = new System.Drawing.Point(56, 56);

this.button1.Name = "button1";

this.button1.TabIndex = 0;

this.button1.Text = "新增";

this.button1.Click += new System.EventHandler(this.button1_Click);

//

// textBox1

//

this.textBox1.Location = new System.Drawing.Point(152, 272);

this.textBox1.Name = "textBox1";

this.textBox1.Size = new System.Drawing.Size(120, 21);

this.textBox1.TabIndex = 2;

this.textBox1.Text = "";

//

// textBox2

//

this.textBox2.Location = new System.Drawing.Point(304, 272);

this.textBox2.Name = "textBox2";

this.textBox2.Size = new System.Drawing.Size(120, 21);

this.textBox2.TabIndex = 2;

this.textBox2.Text = "";

//

// textBox3

//

this.textBox3.Location = new System.Drawing.Point(464, 272);

this.textBox3.Name = "textBox3";

this.textBox3.Size = new System.Drawing.Size(120, 21);

this.textBox3.TabIndex = 2;

this.textBox3.Text = "";

//

// button2

//

this.button2.Location = new System.Drawing.Point(56, 104);

this.button2.Name = "button2";

this.button2.TabIndex = 0;

this.button2.Text = "修改";

this.button2.Click += new System.EventHandler(this.button2_Click);

//

// dataGrid1

//

this.dataGrid1.DataMember = "";

this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;

this.dataGrid1.Location = new System.Drawing.Point(152, 16);

this.dataGrid1.Name = "dataGrid1";

this.dataGrid1.Size = new System.Drawing.Size(504, 248);

this.dataGrid1.TabIndex = 1;

this.dataGrid1.CurrentCellChanged += new System.EventHandler(this.dataGrid1_CurrentCellChanged_1);

//

// button4

//

this.button4.Location = new System.Drawing.Point(56, 152);

this.button4.Name = "button4";

this.button4.TabIndex = 0;

this.button4.Text = "删除";

this.button4.Click += new System.EventHandler(this.button4_Click);

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

this.ClientSize = new System.Drawing.Size(664, 318);

this.Controls.Add(this.textBox1);

this.Controls.Add(this.button1);

this.Controls.Add(this.textBox2);

this.Controls.Add(this.textBox3);

this.Controls.Add(this.button2);

this.Controls.Add(this.dataGrid1);

this.Controls.Add(this.button4);

this.Name = "Form1";

this.Text = "Form1";

this.Load += new System.EventHandler(this.Form1_Load);

((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();

this.ResumeLayout(false);

}

#endregion

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main()

{

Application.Run(new Form1());

}

private void btn_lj_Click(object sender, System.EventArgs e)

{

//连接串

string str="Server=(local);uid=sa;pwd=;database=hospital";

//连接

conn=new SqlConnection(str);

//sql

string sql="select officeName as 科室名称 ,officeType as 科别, "+

"department as 所属部门 from office ";

//适配器

SqlDataAdapter sqldap=new SqlDataAdapter(sql,this.conn);

//内存表

DataTable dt=new DataTable();

//填充

sqldap.Fill(dt);

//数据绑定

this.dataGrid1.DataSource=dt;

}

//刷新方法

public void myreflush()

{

string sql="select officeName as 科室名称 ,officeType as 科别, "+

"department as 所属部门 from office ";

SqlDataAdapter sqldap=new SqlDataAdapter(sql,this.conn);

DataTable dt=new DataTable();

sqldap.Fill(dt);

this.dataGrid1.DataSource=dt;

}

private void button1_Click(object sender, System.EventArgs e)

{

//新增

if(this.conn.State==ConnectionState.Closed)

{

this.conn.Open();

}

string sql="insert into office values('"+this.textBox1.Text+"','"+this.textBox2.Text+"','"+this.textBox3.Text+"')";

SqlCommand sqlcmd=new SqlCommand(sql,this.conn);

int i=sqlcmd.ExecuteNonQuery();

if(i!=0)

{

MessageBox.Show("Ok");

this.myreflush();

}

else

{

MessageBox.Show("No");

}

}

//连动

private void dataGrid1_CurrentCellChanged_1(object sender, System.EventArgs e)

{

//获取当前选择行数

int iCount=this.dataGrid1.CurrentCell.RowNumber;

//数据来源

DataTable dt=(DataTable)this.dataGrid1.DataSource;

try

{

this.textBox1.Text=Convert.ToString(dt.Rows[iCount]["科室名称"]);

this.textBox2.Text=Convert.ToString(dt.Rows[iCount]["科别"]);

this.textBox3.Text=Convert.ToString(dt.Rows[iCount]["所属部门"]);

}

catch(System.IndexOutOfRangeException)

{

MessageBox.Show("此行不存在");

}

}

private void Form1_Load(object sender, System.EventArgs e)

{

//连接串

string str="Server=(local);uid=sa;pwd=;database=hospital";

//连接

conn=new SqlConnection(str);

//sql

string sql="select officeName as 科室名称 ,officeType as 科别, "+

"department as 所属部门 from office ";

//适配器

SqlDataAdapter sqldap=new SqlDataAdapter(sql,this.conn);

//内存表

DataTable dt=new DataTable();

//填充

sqldap.Fill(dt);

//数据绑定

this.dataGrid1.DataSource=dt;

}

private void button4_Click(object sender, System.EventArgs e)

{

//删除

DialogResult dr=MessageBox.Show("是否真的删除"+this.textBox1.Text,"消息",MessageBoxButtons.OKCancel);

if(dr==DialogResult.OK)

{

if(this.conn.State==ConnectionState.Closed)

{

this.conn.Open();

}

string sql="delete from office where officeName='"+this.textBox1.Text+"'";

SqlCommand sqlcmd=new SqlCommand(sql,this.conn);

int i=sqlcmd.ExecuteNonQuery();

if(i!=0)

{

MessageBox.Show("OK");

}

else

{

MessageBox.Show("No");

}

this.myreflush();

}

}

private void button2_Click(object sender, System.EventArgs e)

{

//修改

if(this.conn.State==ConnectionState.Closed)

{

this.conn.Open();

}

string sql="update office set officeType='"+this.textBox2.Text+"',department='"+this.textBox3.Text+"'"

+"where officeName='"+this.textBox1.Text+"'";

SqlCommand sqlcmd=new SqlCommand(sql,this.conn);

int i=sqlcmd.ExecuteNonQuery();

if(i!=0)

{

MessageBox.Show("OK");

this.myreflush();

}

else

{

MessageBox.Show("No");

}

}

}

}

C#通过DataGridView对数据库进行增删改查

(1)增加新的数据行

(2)显示选中行数据

(3)修改选中行数据

(1)执行SQL返回受影响的行数的ExecuteNoQuery方法

(2)执行SQL返回查询结果中第一行第一列的值的ExecuteScalar方法

(3)执行SQL返回一个DataTable的ExecuteDataTable方法

(4)执行SQL返回一个SqlDataReader的ExecutedReader方法

显示全文