最近做项目老大要求用到sqlserver,但是这项目的数据库只是本地演示用并不复杂,于是决定试试VisualStudio2013内置的SQLServer。对于这个东西的了解并没有多少,然后项目初学习的资料好少(可能是我搜索方式不对),这文章就当抛砖之作吧,话不多说现在开始:

首先我查阅了一些资料,但是很多都是sqlserver而不是vs内置的那个,所以似乎很难找到适合的资料,不过我找到了两篇MSDN也就是微软的简单入门的,上链接:

https://msdn.microsoft.com/zh-cn/library/ms233763.aspx  

https://msdn.microsoft.com/zh-cn/library/ms171890.aspx

第一篇是教用vs内置的Service-based Database 建立一个简单的.mdf文件,这就是一个数据库文件(Microsoft SQL Server Database File),跟着教程做,创建的过程不想mysql一样是cmd输入命令(我没用过mysql的GUI),都是在GUI上操作的

第二篇是用winform去连接第一篇创建的.mdf文件,然后添加完后可以直接以控件形式显示,但是教程就到此为止了,我要的并不是直接显示数据啊,我需要的是在C#的WPF中实现对数据库的增删改查啊,就是输入个id,从数据库中找到个对应名字给我之类的操作,所以还要继续找方法。

然后我找到了这篇文章:

http://wulin9005.blog.163.com/blog/static/13239748820133135526616/

作者跟我一样懒得去下sqlserver(逃~),然后这里教会了我在vs中连接自己电脑作为server,不过第二步大家的服务器名可能不一样,我的解决方法是:

在VS--TOOLS--Options(最下)中,搜索sql server

点Database Tools--Data Connections

SQL Server Instance Name下方的TextBox中就是你电脑Server的名字,我没改hhh

继续进行第三步就能得到名为"master"的数据库,

接着就在Tables处右键添加新表,具体如下:

可以跟我一样也可以参考microsoft的第一个链接,这样表就创建完毕了

然后是对表添加数据,对Tables下的tb_card右键Show Table Data(显示表数据),然后自由添加

好的这样就添加完数据了

接下来就是如何在代码中取得数据了,

首先在VS的VIEW--Other windows--Data Sources 中点击Add new Data Source,在Choose a Data Source Type中选Database-->next,在choose a database model中选择Dataset-->next,在Choose Your Data Connection中点击右边的New Connection,在弹出的Add Connection中点击Data source右边的按键change,然后选中Microsoft SQL Server并点击OK:

然后会有add Connection弹框如下,ServerName上面提到了用自己的,输入完可以用左下角的Test试一下连接:

成功之后就会回到choose your data connection,然后下拉框就多了一个可以选的:

选中并next,next,到了Choose your database objects,勾选tables,然后Finish,剩下都确认就行

然后server的Data Connections就会出现:

连接也完成了,最后就是创建WPF

比较简陋hhh,三个textbox分别对应cardid、username、cardType,

combobox用来选择数据库,右边btn_refresh用来首次连接并刷新数据库列表到combobox中:

        #region 按键刷新数据库列表
private void btn_refresh_Click(object sender, RoutedEventArgs e)
{
DataTable t = new System.Data.DataTable();
string con = "server=(LocalDB)\\v11.0;database=master;integrated security=true";
try
{
using (SqlConnection myCon = new SqlConnection(con))
{
myCon.Open();
MessageBox.Show("打开数据库成功");
string sql = "select * from sys.databases ";
using (SqlCommand cm = new SqlCommand(sql, myCon))
{
SqlDataAdapter a = new SqlDataAdapter(cm);
a.Fill(t);
foreach (DataRow r in t.Rows)
{
cb_database.Items.Add(r["name"].ToString());
} }
}
}
catch (Exception ex)
{
MessageBox.Show("数据库打开失败,详细信息:" + ex.ToString());
}
}
#endregion

刷新完成后,在第一个textbox输入123,然后点击btn_open,另外两个textbox将会显示对应数据,btn_open代码如下:

        #region open点击
private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
if (cb_database.Text.Trim().Length > )
{
string con = "server=(LocalDB)\\v11.0;database=" + cb_database.Text.Trim() + ";integrated security=true";
using (SqlConnection myCon = new SqlConnection(con))
{
string sql = "select userName,cardType from tb_card where cardID='" + tb_id.Text + "'";
using (SqlCommand cmd = new SqlCommand(sql, myCon))
{
myCon.Open();
MessageBox.Show("连接数据库成功" + ",ServerVersion:" + myCon.ServerVersion + ";DataSource" + myCon.DataSource);
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.Read())
{
string userName = sdr.GetString().ToString();
string cardType = sdr.GetString().ToString();
tb_name.Text = userName;
tb_type.Text = cardType;
}
else
{
MessageBox.Show("gg");
}
}
} }
}
else
{
MessageBox.Show("请选择要连接的数据库");
}
}
catch (Exception ex)
{
MessageBox.Show("数据库连接失败,详细信息:" + ex.ToString());
}
}
#endregion

完结撒花~如果有神马意见建议欢迎留言谢谢~

VisualStudio2013内置SQLServer入门的更多相关文章

  1. VisualStudio2013内置SQLServer入门(二)--增删改查

    前一篇 http://www.cnblogs.com/qixi233/p/4766451.html 这篇是sqlserver的操作 界面比较走心哈哈哈,将就着看,主要就是下面增删改查四个btn 对于s ...

  2. VisualStudio2013&VS2015内置SQLServer入门 (三)

    关于LocalDB的部署(publish): 使用本机做服务器(目测不可行) 双击项目的Properties-->Publish-->Application Files,你会发现没有.md ...

  3. 《zw版·Halcon入门教程与内置demo》

    <zw版·Halcon入门教程与内置demo> halcon系统的中文教程很不好找,而且大部分是v10以前的版本. 例如,QQ群: 247994767(Delphi与halcon), 共享 ...

  4. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  5. sqlserver学习笔记(六)—— sqlserver内置函数(字符串、日期)

    sqlserver中有很多内置函数,这里总结了一些常用的 一.关于字符串的函数: 1.CHARINDEX 寻找一个指定字符串在另一个字符串中的起始位置 SELECT CHARINDEX('world‘ ...

  6. Springboot入门及配置文件介绍(内置属性、自定义属性、属性封装类)

    目的: 1.Springboot入门 SpringBoot是什么? 使用Idea配置SpringBoo使用t项目 测试案例 2.Springboot配置文件介绍 内置属性 自定义属性 属性封装类 Sp ...

  7. Python入门之 Python内置函数

    Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...

  8. javaScript中Math内置对象基本方法入门

    概念 Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法. Math 不是一个函数对象,用户Number类型进行使用,不支持BigInt. Math 的所有属性与方法都是 ...

  9. 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...

随机推荐

  1. 此集合已经采用方案 http 的地址。此集合中每个方案中最多只能包含一个地址。

    错误信息:此集合已经采用方案 http 的地址.此集合中每个方案中最多只能包含一个地址.如果服务承载于 IIS 中,则可以通过将“system.serviceModel/serviceHostingE ...

  2. 【转】android4.1.1系统编译全过程

    原文网址:http://blog.csdn.net/hudan2714/article/details/7926924 一.编译环境: 首先介绍编译中使用的工具: 虚拟机:    vmare 9 下载 ...

  3. AXI总线

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...

  4. hdu 4284 状态压缩

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4284 #include<cstdio> #include<cstring> # ...

  5. Java 8:不要再用循环了

    本文由 ImportNew - 进林 翻译自 deadcoderising.欢迎加入翻译小组.转载请见文末要求. 正如我之前所写的,Java 8中的新功能特性改变了游戏规则.对Java开发者来说这是一 ...

  6. 高性能、高流量Java Web站点打造的22条建议

    @http://www.csdn.net/article/2013-12-20/2817861-22-recommendations-for-building-effective-high-traff ...

  7. dijkstra算法(迪杰斯特拉算法)

    dijkstra算法(迪杰斯特拉算法) 用途:有向图最短路径问题 定义:迪杰斯特拉算法是典型的算法,一般的表述通常有两种方式,这里均采用永久和临时标号的方式,该算法要求图中不存在负权边 用永久和临时标 ...

  8. 11个让你吃惊的Linux终端命令

  9. Cadence 信号完整性(一)-- 仿真步骤3

    (2)单击“Identify DC Nets”,弹出“Identify DC Nets”窗口,如图2-6 所示: 图 2-6 Identify DC Nets 窗口 (3)在“Net”列表中选择网络如 ...

  10. StrutsPrepareAndExecuteFilter(转)

    http://www.iteye.com/topic/829843  一.概述 Struts2的核心是一个Filter,Action可以脱离web容器,那么是什么让http请求和action关联在一起 ...