1、MainWindow.xaml 面板

<Window x:Class="Test.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:Test"mc:Ignorable="d"Title="MainWindow" Height="350" Width="525" WindowState="Maximized"><Grid ><DockPanel><Menu DockPanel.Dock="Top"><MenuItem Header="文件"><MenuItem Header="打开"></MenuItem></MenuItem><MenuItem Header="编辑"><MenuItem Header="复制"></MenuItem></MenuItem><MenuItem x:Name="About" Header="关于我们" Click="About_Click"></MenuItem><MenuItem x:Name="Update" Header="更新" Click="Update_Click"></MenuItem><MenuItem x:Name="Chaxun" Header="查询1" Click="Chaxun_Click"></MenuItem><MenuItem x:Name="Chaxun2" Header="查询2" Click="Chaxun2_Click"></MenuItem></Menu><TextBox DockPanel.Dock="Left"></TextBox><TextBox DockPanel.Dock="Right"></TextBox><TextBox DockPanel.Dock="Bottom"></TextBox><Button Content="左" DockPanel.Dock="Left"></Button><Button Content="右" DockPanel.Dock="Right"></Button></DockPanel></Grid></Window>

2、MainWindow.xaml.cs 事件

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections;
using System.Data;namespace Test
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();}private void About_Click(object sender, RoutedEventArgs e){//AboutWindow abw = new AboutWindow();//abw.ShowDialog();SqlHelper sh = new SqlHelper();SqlParameter[] pars = new SqlParameter[] {new SqlParameter("@name", "赵六"),new SqlParameter("@id", "1")};string sql = "UPDATE user1 SET name=@name WHERE id=@id";int count = sh.ExcuteSQLReturnInt(sql, pars);MessageBox.Show("更新了 "+count+" 条数据");}private void Update_Click(object sender, RoutedEventArgs e){//连接字符串(可以在左边服务器资源管理器里自动生成)://Data source=服务器名(IP地址)\实例名;//Initial Catalog=数据库名;//Integrated Security=True    集成身份验证//User ID=xxx;Password=xxx    用户名密码登陆string constr = @"Data source=LENOVO-PC;Initial Catalog=test;Integrated Security=False;User ID=sa;Password=root";using (SqlConnection con = new SqlConnection(constr)){string sql = "UPDATE user1 SET name='wwwww' WHERE id=1 ";using (SqlCommand cmd = new SqlCommand(sql, con)){if (con.State == System.Data.ConnectionState.Closed){con.Open();}int r = cmd.ExecuteNonQuery();con.Close();MessageBox.Show("已成功修改"+r+"条语句");}}}private void Chaxun_Click(object sender, RoutedEventArgs e){SqlHelper sh = new SqlHelper();SqlParameter[] pars = new SqlParameter[] {new SqlParameter("@pwd", "bbbbbb")};string sql = "SELECT * FROM user1 WHERE pwd=@pwd";ArrayList DataList = sh.DataList(sql, pars);foreach(ArrayList list in DataList){foreach (Object obj in list){MessageBox.Show(obj.ToString());}}            }private void Chaxun2_Click(object sender,RoutedEventArgs e){SqlHelper sh = new SqlHelper();SqlParameter[] pars = new SqlParameter[]{new SqlParameter("@pwd","bbbbbb")};string sql = "SELECT * FROM user1 WHERE pwd=@pwd";ArrayList list = sh.DataSet(sql,pars);foreach(DataRow rows in list){MessageBox.Show(rows["name"].ToString());}}}
}

3、SqlHelper.cs  ado.net封装类

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Collections;
using System.Data;namespace Test
{//操作数据库方法class SqlHelper{public string MyConnString{get{return @"Data source=LENOVO-PC;Initial Catalog=test;Integrated Security=False;User ID=sa;Password=root";}}//执行insert,update,delete命令//返回受影响的行数public int ExcuteSQLReturnInt(string sql,SqlParameter[] pars){SqlConnection conn = new SqlConnection(MyConnString);try{                SqlCommand cmd = new SqlCommand(sql, conn);if (conn.State == System.Data.ConnectionState.Closed || conn.State == System.Data.ConnectionState.Broken){conn.Open();}if(pars!=null && pars.Length > 0){foreach (SqlParameter p in pars){cmd.Parameters.Add(p);}}int count = cmd.ExecuteNonQuery();return count;}catch (Exception ex){return 0;}finally{conn.Close();}}//查询select public ArrayList DataList(string sql,SqlParameter[] pars){SqlConnection conn = new SqlConnection(MyConnString);SqlCommand cmd = new SqlCommand(sql,conn);if (conn.State == System.Data.ConnectionState.Closed || conn.State == System.Data.ConnectionState.Broken){conn.Open();}if (pars != null && pars.Length > 0){foreach (SqlParameter p in pars){cmd.Parameters.Add(p);}}SqlDataReader reader = cmd.ExecuteReader();ArrayList list = new ArrayList();while (reader.Read()){ArrayList list1 = new ArrayList();for (int i = 0; i< reader.FieldCount; i++){list1.Add(reader[i]);                    }list.Add(list1);  }conn.Close();return list;}//查询selectpublic ArrayList DataSet(string sql,SqlParameter[] pars){SqlConnection conn = new SqlConnection(MyConnString);SqlCommand cmd = new SqlCommand(sql,conn);if (conn.State == System.Data.ConnectionState.Closed || conn.State == System.Data.ConnectionState.Broken){conn.Open();}if (pars != null && pars.Length > 0){foreach (SqlParameter p in pars){cmd.Parameters.Add(p);}}SqlDataAdapter adapter = new SqlDataAdapter(cmd);DataSet dataset = new DataSet();adapter.Fill(dataset);DataTable table = dataset.Tables[0];DataRowCollection rows = table.Rows;ArrayList list = new ArrayList();for(int i = 0; i < rows.Count; i++){DataRow row = rows[i];list.Add(row);}return list;}}
}

转载于:https://my.oschina.net/tongjh/blog/501136

ado.net封装类相关推荐

  1. ADO数据库编程详解(C++)----初级入门篇

    一.概述 ADO即Microsoft ActiveXData Object,是Microsoft继ODBC之后,基于OLE DB技术的一种数据库操作技术,使您能够编写通过 OLE DB提供者对在数据库 ...

  2. 一致的数据访问技术ADO/OLE DB

    Microsoft新近推出的UDA(Universal Data Access,一致数据访 问技术)为关系型或非关系型数据访问提供了一致的访问接口,为企业 级Intranet应用多层软件结构提供了数据 ...

  3. MFC,ADO方式实现数据库操作

    参考: MSDN数据访问编程 (MFC/ATL): https://msdn.microsoft.com/zh-cn/library/kd4ck1tt.aspx?f=255&MSPPError ...

  4. 使用ado直接连接mysql_使用ADO直接连Mysql ,不经过ODBC

    这几天在封装数据库类 需要连接数据库 一开始使用mysql的api函数,实现,可是每增加一个表都需要修改封装类,每增加一个表需要增加一组对应的函数,如get***,insert**  update** ...

  5. ADO.Net知识总结

    (一)基础知识 ADO.NET: .NET中用来向数据库提交执行SQL语句的一堆类 本机访问直接"Windows验证",但是一般项目中都是单独的数据库服务器,程序在另外一台电脑上连 ...

  6. ADO学习(一)基础理论

    一.ADO概述 ADO即Microsoft ActiveXData Object,是Microsoft继ODBC之后,基于OLE DB技术的一种数据库操作技术,使您能够编写通过 OLE DB提供者对在 ...

  7. 数据库:ADO是什么?

    ADO是一个组件,ADO不适于MFC但是可以在MFC里面使用.(ADO在1996年冬被发布.) 由于ADO在MFC使用的比较频繁,所以一些前辈将ADO的三个智能指针封装了. 之后就可以在MFC 更方便 ...

  8. 吕鑫的Ado数据库函数

    AdoLx.h // AdoLx.h: Version 1.1(支持Unicode.支持VS2015和VC6编译环境) //支持Unicode.支持Access.SQLServer和Oracle三大数 ...

  9. ADO与ADO.NET的区别与介绍

    1. ADO与ADO.NET简介 ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用.高速度.低内存支出和占用磁盘空间较少,支持用于建立 ...

最新文章

  1. 关于autorelease pool一个较好的理解
  2. 并发编程11-测试并发程序
  3. 使用VIA声卡 运行生化危机5无声音的解决方案 无需卸载旧驱动
  4. AI工程师面试凭高频问题提前准备,命中率会是多少?
  5. Android中JNI的使用方法
  6. 如何使用R语言在SAP Analytics Cloud里绘制各种统计图表
  7. [JavaWeb-JavaScript]JavaScript概念与功能
  8. epoll用法整理 实现回声服务端
  9. C#反射设置属性值和获取属性值
  10. mysql数据库设计原则_mysql数据库设计总结
  11. 锁到底是一种怎样的存在?
  12. 【一步一步】Spring 源码环境搭建
  13. python list 排序
  14. NoSuchMethodError: No virtual method centerCrop()/glide
  15. windows10如何截长图
  16. Spring框架-AOP
  17. matlab ifft取实部,[合集] matlab中IFFT的问题
  18. cron表达式的含义解释、写法
  19. 如何用JS判断两个数字的大小
  20. 有什么软件可以把文字变成语音?声音多点更好了

热门文章

  1. 一些试题:C++面试题.万能Key
  2. linux子系统led,Linux设备驱动GPIO子系统
  3. bzoj 3489 A simple rmq problem——主席树套线段树
  4. Spring集成Mybatis plus
  5. POJ 1753 Flip Game 高斯消元
  6. 物联网技术泡沫多 期望与现实不匹配
  7. DedeCms织梦彩色标签云(tag)随机颜色和字体大小
  8. 三个角度来解决无线路由故障
  9. NetBeans 时事通讯(刊号 # 89 - Jan 28, 2010)
  10. DotNet(C#)自定义运行时窗体设计器 一