做一个简单WPF连接数据库的

控件类型和名称:DataGrid:dataGrid          Button1  :Button1              Button:   Button2               TextBox : txtuserName

在引用App.config写数据库的连接字符串

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
<!--数据库连接字符串-->
<add key ="ConnString" value ="Data Source=.;initial Catalog=educ; user=sa; Password=123456;Pooling=true" />
</appSettings>
</configuration>
<add key ="ConnString" value ="Data Source=.;initial Catalog=educ; user=sa; Password=123456;Pooling=true" />
Data Source=.表示本机,可以写ip地址 initial Catalog=数据库名 user=用户名 Password=密码;
写一个DataBaseHelper的数据库类
 namespace _03连接数据库
{
class DataBaseHelper
{ /// 数据库打开连接的方法
///
/// </summary>
/// <returns></returns>
public static SqlConnection getSqlConnection()
{
SqlConnection sqlConnection = new SqlConnection();
try
{
//获取数据库字符串
sqlConnection.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnString"];
sqlConnection.Open();
sqlConnection.Close();
}
catch
{ throw new Exception("无法连接数据库服务器");
} return sqlConnection;
} /// sql增删改的方法
///
/// </summary>
/// <param name="sqlstr"></param>
/// <returns></returns>
public static int GetNonQueryEffect(string sqlstr)
{
SqlConnection sqlConnection = new SqlConnection();
try
{
sqlConnection.Open();
//创建要执行的语句
SqlCommand cmd = new SqlCommand(sqlstr, sqlConnection);
return cmd.ExecuteNonQuery();//返回执行语句中的错误
}
catch (Exception ex)
{
throw new Exception(ex.ToString()); }
finally
{
sqlConnection.Close();
sqlConnection.Dispose();//释放资源
} } /// 读取数据的的方法
///
/// </summary>
/// <param name="sqlstr"></param>
/// <returns></returns>
public static DataSet GetDataset(string sqlstr)
{
SqlConnection conn = getSqlConnection();
try
{
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(sqlstr ,conn );//更新数据库的命令
DataSet ds = new DataSet();
sda.Fill(ds);//填充
return ds;
}
catch (Exception ex)
{ throw new Exception(ex.ToString ());
}
finally
{
conn.Close();
conn.Dispose();
}
}
}
}

按键的代码

   private void Button_Click_1(object sender, RoutedEventArgs e)
{
string str = "select *FROM student";//查询的语句
dataGrid.ItemsSource = DataBaseHelper.GetDataset(str).Tables[].DefaultView; }
private void Button_Click_2(object sender, RoutedEventArgs e)
{
if (txtuserName.Text.Trim()== " ")
{
return;
}
string strr = string.Format("select *FROM student where sname='{0}'", txtuserName.Text);
dataGrid.ItemsSource = DataBaseHelper.GetDataset(strr).Tables[].DefaultView;
}

WPF简单的数据库查询的更多相关文章

  1. PHP简单获取数据库查询结果并返回JSON

    <?php header("Content-type:text/html;charset=utf-8"); //连接数据库 $con = mysql_connect(&quo ...

  2. 使用IDEA创建Spring boot项目,继承mybaits。并进行简单的数据库查询操作

    本文讲的是使用IEDA创建Spring boot项目,对于环境安装需要自行准备,如JDK1.8.Maven 3.3.IDEA编译器.Mysql5.7等需事前准备好. 1.创建Spring boot项目 ...

  3. java简单的数据库查询(SQLServer数据库)

    1.数据库链接类 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; pu ...

  4. c#简单的数据库查询与绑定DataGridView。

    1配置文件 (两种写法) <connectionStrings>    <add name="connStr" connectionString="se ...

  5. 下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作

    下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...

  6. C#与mysql做ASP.NET网页数据库查询速度测试

    两种方法是:1,使用mysql数据库的存储过程:2,C#编码,做网页后台与mysql数据库连接,前台测试显示测试过结果下面我将分别讲解两种方法的具体实现. 1,使用mysql数据库的存储过程插入万条大 ...

  7. iBatis.Net(C#)数据库查询

    引用请注明http://www.cnblogs.com/13590/archive/2013/03/14/2958735.html  摘要:查询是数据库SQL语言的核心,本文介绍了通过iBatis.N ...

  8. 【MYSQL】创建虚表来辅助数据库查询

    在进行数据库查询时,有时需要用到对既有的数据表进行多表查询得出的临时条件的数据表,就可以暂时创建成为虚表,并赋予简单明了的字段名以及临时表名. 例题a:查询出每门课程低于平均成绩的学生姓名.课程名称. ...

  9. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

随机推荐

  1. ORM概述及常用ORM框架

    一.ORM ORM(Object-relational mapping),即对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.也就是说,ORM是通过使用描述对象和数据库之间映 ...

  2. Python短路原则

    1.括号内逻辑先执行 2.and优先级大于or 3.and一假为假 4.or一真为真 and:如果左边为假,返回左边值.如果左边不为假,返回右边值. or:如果左边为真,返回左边值.如果左边不为真,返 ...

  3. OI网络流 简单学习笔记

    持续更新! 基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. ..怎么说呢,最基础的模板我就我不说了吧qwq,具体可以参考一下这位大佬写的博客:最大流,最小割,费用流 费用流 跑 ...

  4. linux kvm虚拟机安装

    1.上传ISO文件,这里采用OEL5.8x64iso 2.开始安装OEL5.8 (1)raw格式磁盘 virt- --vcpus= --disk path=/data/test02.img,size= ...

  5. kali linux之Bdfproxy

    Bdfproxy(mitmproxy) 基于流量劫持动态注入shellcode(arp欺骗,dns欺骗,流氓ap) 步骤: 开启流量转发---------sysctl -w net.ipv4.ip_f ...

  6. django 保存订单乐观锁的使用

    后端在生成订单表的时候,牵扯到如下的知识点: 1 事物 2 高并发 3 时间函数的使用 一,事务: from django.db import transaction save_id = transa ...

  7. Oracle TNS Listener Remote Poisoning

    Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Lis ...

  8. 关于前后台DOM树应用

    Dom对象是在程序开发中很实用而且经常会应用到的技术,通过Dom对象可以传递具有树结构的对象,有利用前台页面的诸如树的显示和相应值的处理,本文从两个方面全面解析Dom对象的应用,一是从后台得到完整的D ...

  9. 使用Avd 调试慢的解决方案

         AVD 太慢了,不仅启动,而且运行慢.以致于要用手机去调.你觉得这样方便吗?     如果没有一个简单快速的开发调试环境,把时间都浪费在启动,调试及等待上,那是对生命的浪费.   必要条件: ...

  10. CF1097D Makoto and a Blackboard(期望)

    [Luogu-CF1097D] 给定 \(n,k\)一共会进行 \(k\) 次操作 , 每次操作会把 \(n\) 等概率的变成 \(n\) 的某个约数 求操作 \(k\) 次后 \(n\) 的期望是多 ...