zoukankan
html css js c++ java
在C#中使用控件DataGridView实现数据库增删改查
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Data.SqlClient;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
DataSource
...
{
public
partial
class
Form1 : Form
...
{
public
Form1()
...
{
InitializeComponent();
}
private
DataSet ds
=
new
DataSet();
private
SqlConnection conn
=
null
;
private
SqlDataAdapter da
=
null
;
private
const
string
DRIVER
=
"
server=.;database=northwind;uid=sa;pwd=sa
"
;
private
const
string
sql_select
=
"
select * from region
"
;
/**/
/*
*
* 此方法为将数据库northwind中的region表的数据查询出来并放入DataSet中
*
*/
private
void
Form1_Load(
object
sender, EventArgs e)
...
{
conn
=
new
SqlConnection(DRIVER);
da
=
new
SqlDataAdapter(sql_select,conn);
da.Fill(ds,
"
table
"
);
this
.dataGridView1.DataSource
=
ds.Tables[
"
table
"
].DefaultView;
}
private
bool
BtnInsert()
//
此方法作用于添加
...
{
da.InsertCommand
=
conn.CreateCommand();
da.InsertCommand.CommandText
=
"
insert into region values(@id,@ption)
"
;
da.InsertCommand.Parameters.Add(
"
@id
"
, SqlDbType.Int,
4
,
"
regionid
"
);
da.InsertCommand.Parameters.Add(
"
@ption
"
, SqlDbType.VarChar,
10
,
"
regiondescription
"
);
int
count
=
da.Update(ds);
bool
result
=
count
>
0
?
true
:
false
;
return
result;
}
private
void
button1_Click(
object
sender, EventArgs e)
...
{
if
(
this
.BtnInsert())
//
调用此方法
...
{
MessageBox.Show(
"
添加成功!
"
);
}
else
...
{
MessageBox.Show(
"
添加失败!
"
);
}
}
private
bool
BtnDelect()
//
此方法作用于删除
...
{
SqlParameter sp
=
new
SqlParameter();
da.DeleteCommand
=
conn.CreateCommand();
da.DeleteCommand.CommandText
=
"
delete region where regionid=@id
"
;
sp
=
da.DeleteCommand.Parameters.Add(
"
@id
"
, SqlDbType.Int,
4
,
"
regionid
"
);
sp.SourceVersion
=
DataRowVersion.Original;
ds.Tables[
"
table
"
].Rows[
this
.dataGridView1.CurrentRow.Index].Delete();
int
count
=
da.Update(ds);
bool
result
=
count
>
0
?
true
:
false
;
return
result;
}
private
void
button2_Click(
object
sender, EventArgs e)
...
{
if
(
this
.BtnDelect())
//
调用删除方法
...
{
MessageBox.Show(
"
删除成功!
"
);
}
else
...
{
MessageBox.Show(
"
删除失败!
"
);
}
}
private
bool
BtnUpdate()
//
此方法作用于修改
...
{
SqlParameter sp
=
new
SqlParameter();
da.UpdateCommand
=
conn.CreateCommand();
da.UpdateCommand.CommandText
=
"
update region set regionid=@id,regiondescription=@ption where regionid=@oldid
"
;
da.UpdateCommand.Parameters.Add(
"
@id
"
, SqlDbType.Int,
4
,
"
regionid
"
);
da.UpdateCommand.Parameters.Add(
"
@ption
"
, SqlDbType.VarChar,
10
,
"
regiondescription
"
);
sp
=
da.UpdateCommand.Parameters.Add(
"
@oldid
"
, SqlDbType.Int,
4
,
"
regionid
"
);
sp.SourceVersion
=
DataRowVersion.Original;
int
count
=
da.Update(ds);
bool
result
=
count
>
0
?
true
:
false
;
return
result;
}
private
void
button3_Click(
object
sender, EventArgs e)
...
{
if
(
this
.BtnUpdate())
//
调用修改方法
...
{
MessageBox.Show(
"
修改成功!
"
);
}
else
...
{
MessageBox.Show(
"
修改失败!
"
);
}
}
}
}
查看全文
相关阅读:
Windows Power Shell
一个自律的人有多可怕!
Android之TextureView浅析
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 介绍SP2013中远程APIs
敌兵布阵(线段树)
kendo AutoComplete实现多筛选条件
Android 65K问题之Multidex原理分析及NoClassDefFoundError的解决方法
让我心碎的五道题
输入一列数组,输出它的逆序数组
centos下配置防火墙port失败
原文地址:https://www.cnblogs.com/da6wei6/p/1277309.html
最新文章
纯干货!程序员的面试技巧~
VC++ 判断当前系统为32位还是64位
AVRNET 学习笔记UDP部分
STM32F103的11个定时器详解(转)
STM32普通定时器(TIM2-7)的时钟源
STM32F4_TIM输入波形捕获(脉冲频率、占空比)
STM32F407上移植emwin
在emwin中显示字库芯片GT23L24M0140的字模
为OLED屏增加GUI支持
给Android设备增加串口功能
热门文章
仿GPS的4星定位程序
STM32待机模式测试
科目三怎么平稳起步
直线行驶怎么开才不会跑偏 六种方便让你轻松过关
直线行驶
科目三直线行驶怎么才能不跑偏?看完你就明白
远近光灯交替闪灯两次
PowerShell为什么强大
25个常用PowerShell命令总结
Windows PowerShell是啥?看完本文你就懂它了
Copyright © 2011-2022 走看看