WPF 一个数据库连接测试的实现
要实现的功能效果图如下:因为我们要测试数据是从输入框获得的,所以,我们的连接字符串不是写死在应用程序中的。下面我就详细介绍一下。 ?
首先,我们要找到 项目下——》Properties->Setiings.setting
新建一个连接字符串名称,类型为 string,重点重点 范围一定要设置为 用户,这样的话我们才可以重写base.在继承的基础上覆盖上次的连接字符串。 如果我们不设置为用户而设置为应用程序获的话,将会不可改变连接字符串。 在EF框架中,我们每new一个 DataContext便会有一个数据库表的映射。它的逻辑是,我们new的时候(此例子 datacontext是?)会执行 (
Console.WriteLine(</span><span style="color: #0000ff;">global</span><span style="color: #000000;">::DataModal.Properties.Settings.Default.StockManageSystemConnectionString);
OnCreated();
}
</span><span style="color: #0000ff;">public</span> StockManageDataContext(<span style="color: #0000ff;">string</span><span style="color: #000000;"> connection) :
</span><span style="color: #0000ff;">base</span><span style="color: #000000;">(connection,mappingSource)
{
OnCreated();
}
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> StockManageDataContext(System.Data.IDbConnection connection) :
</span><span style="color: #0000ff;">base</span><span style="color: #000000;">(connection,mappingSource)
{
OnCreated();
}
</span><span style="color: #0000ff;">public</span> StockManageDataContext(<span style="color: #0000ff;">string</span><span style="color: #000000;"> connection,System.Data.Linq.Mapping.MappingSource mappingSource) :
</span><span style="color: #0000ff;">base</span><span style="color: #000000;">(connection,mappingSource)
{
OnCreated();
}
</span><span style="color: #0000ff;">public</span><span style="color: #000000;"> StockManageDataContext(System.Data.IDbConnection connection,mappingSource)
{
OnCreated();
}</span></pre>
这个代码中就是可以覆盖的连接字符串,我们只需要更改他就行。 </span><span style="color: #008000;">//</span><span style="color: #008000;">获得连接字符串</span>
<span style="color: #0000ff;">string</span> ConnectionString = <span style="color: #800000;">"</span><span style="color: #800000;">Data Source=</span><span style="color: #800000;">"</span> + Server.Text + <span style="color: #800000;">"</span><span style="color: #800000;">;Initial Catalog=</span><span style="color: #800000;">"</span> + Sqlname.Text + <span style="color: #800000;">"</span><span style="color: #800000;">;Persist Security Info=True;User ID=</span><span style="color: #800000;">"</span> + Account.Text + <span style="color: #800000;">"</span><span style="color: #800000;">;Password=</span><span style="color: #800000;">"</span> +<span style="color: #000000;"> Pass.Text;
SqlConnection _SqlConnection </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(ConnectionString);
</span><span style="color: #0000ff;">try</span><span style="color: #000000;">
{
_SqlConnection.Open();
SqlCommand sqlcmd </span>=<span style="color: #000000;"> _SqlConnection.CreateCommand();
sqlcmd.CommandText </span>= <span style="color: #800000;">"</span><span style="color: #800000;">select top 10 * from ProductInfo;</span><span style="color: #800000;">"</span><span style="color: #000000;">;
</span><span style="color: #008000;">//</span><span style="color: #008000;">如果可以连接成功则 保存数据库连接字符串 </span>
DataModal.Properties.Settings.Default.StockManageSystemConnectionString =<span style="color: #000000;"> ConnectionString;
DataModal.Properties.Settings.Default.Save();</span><span style="color: #008000;">//</span><span style="color: #008000;">使用Save方法保存更改 n</span>
MessageBox.Show(<span style="color: #800000;">"</span><span style="color: #800000;">测试连接正常</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">恭喜</span><span style="color: #800000;">"</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception ex)
{
MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">不能连接数据库,请重新设置</span><span style="color: #800000;">"</span>,<span style="color: #800000;">"</span><span style="color: #800000;">警告</span><span style="color: #800000;">"</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">finally</span><span style="color: #000000;">
{
_SqlConnection.Close();
}
}</span></pre>
这样就可以进行测试了,在每次登陆之前都要验证一遍。 ? 还有一个比较人性化的问题,就是用户希望在每次登陆之前都有几个数据库连接默认的值,毕竟大家不愿意去动手输入那么多数据,但是又不可以直接写死在输入框(这样太low),所以,既然之前我们可以给连接字符串赋值,我们也可以获取上次的连接字符串,拆分,然后在窗体初始化时默认加载到窗体输入框嘛。 代码:(根据键值对获得,) connect =<,> dictionary = connect.Split( [] { },StringSplitOptions.RemoveEmptyEntries).ToDictionary(x => x.Split()[],x => x.Split()[<> test = List<> ( i = ; i < test.Count; i++= test[= test[= test[= test[
? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用Ninject注册到自定义成员资格提供程序
- asp.net-mvc – 传递给Html.ActionLink时在模型上序列化ILi
- asp.net – Orchard CMS 1.x [文档存储] – 混合记录支持和
- asp.net-mvc – MVC – 如何从get请求获取参数值,该参数名称
- asp.net – 由Chrome和FF破坏的会话变量
- asp.net – 如何在Sitecore中以编程方式创建项目
- asp.net-mvc – ASP.NET MVC门户可用吗?
- ASP.NET基于Ajax的Enter键提交问题分析
- asp.net-mvc – 从Scripts.Render中排除的Asp.Net MVC4捆绑
- asp.net-mvc – 如何设置TextBox的空字符串而不是null的默认
- datetime – 日期格式dd / MM / yyyy在asp.net m
- asp.net – 使用installshield在安装后运行解决方
- 为什么母版页在ASP.NET中没有PreInit事件?
- asp.net – 使用javascript和服务器端禁用/启用r
- 使用C#实现网站用户登录
- ASP.NET CORE WEBAPI文件下载
- asp.net-membership – 覆盖ASP.NET MVC 4中的AS
- asp.net – 对于未更改的静态内容,Amazon CloudF
- asp.net-mvc – 运行测试项目时自动启动ASP.MVC项
- asp.net-mvc-3 – Backbone.js使用ASP.NET MVC的