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方法