最近做项目老大要求用到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. windows/NBTSTAT,linux/nmblookup命令详解,查询NetBIOS名

    NBTSTAT命令详解 请问: Linux下有没有和nbtstat一样的命令,用 nmblookup -A ip 可以 nbstat命令主要用于查看当前基于netbios的tcp/ip连接状态,通过该 ...

  2. 支付宝APP支付Java回调具体步骤

    /** * 支付宝异步请求通知 * * @param request * @return */@RequestMapping(value = "async", method = R ...

  3. 【转】使用命令行方式创建和启动android模拟器

    原文网址:http://blog.csdn.net/tiandinilv/article/details/8953001 1.Android模拟器介绍 Android中提供了一个模拟器来模拟ARM核的 ...

  4. Delphi 6 Web Services初步评估之三(转)

    Delphi 6 Web Services初步评估之三(转)   Delphi 6 Web Services初步评估之三(转)★ 测试总体印象:在整个测试中,对Delphi 6创建的Web Servi ...

  5. 【狼】unity3d point light 个数限制更改

      unity默认的pointlight个数为2个,多加的话先加的就没有效果, 具体更改方式如下: Edit -> Project Settings -> Quality-> Ren ...

  6. Matlab与CCS的连接

    1.CCS概述 Matlab 6.5(R13)或以上集成了CCSLink工具,可以支持CCS能够识别的任何板卡及其硬件DSP. 验证CCSLink是否在主机上安装成功,Matlab输入命令:help ...

  7. HDOJ 1032(POJ 1207) The 3n + 1 problem

    Description Problems in Computer Science are often classified as belonging to a certain class of pro ...

  8. UVa 10917 A Walk Through the Forest

    A Walk Through the Forest Time Limit:1000MS  Memory Limit:65536K Total Submit:48 Accepted:15 Descrip ...

  9. MySQL Server类型之MySQL客户端工具的下载、安装和使用

    本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...

  10. UVA 10106 (13.08.02)

     Product  The Problem The problem is to multiply two integers X, Y. (0<=X,Y<10250) The Input T ...