时间:2021-07-01 10:21:17 帮助过:12人阅读
第二篇是用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 > 0) { 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(0).ToString(); string cardType = sdr.GetString(1).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入门
标签: