• 第一次ADO.Net连接SQLserver测试时出现的问题传智播客的ADO例子


      今天是第一次注册博客园,并写文章,也是第一次连接ado,本来十四分钟的传智播客视频,我竟然花了三个多小时才弄好,这其中的曲折纠结要不记下来,那就太可惜了,也算提醒下自己和同样问题的朋友。

      1.首先建一个windows控制台(第一个mdf),在里面添加一个基于服务的数据库(Database1.mdf)。如图:

                                                                     

    2.主程序窗口插入以下代码:(固定格式,以后每次照抄即可)

    1 string dataDir = AppDomain.CurrentDomain.BaseDirectory;
    2 if (dataDir.EndsWith(@"\bin\Debug\")
    3 || dataDir.EndsWith(@"\bin\Release\"))
    4 {
    5 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
    6 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
    7 }

    插入此段代码原因:http://www.rupeng.com/forum/thread-11988-1-1.html

    3.插入代码:

    1 SqlConnection conn =new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CallCenter.mdf;Integrated Security=True;User Instance=True
    2 ");

    由于我的SQL是sqlserver所以“Data Source=.\;”  mdf的名字也不是这个。最后为:

    1 SqlConnection conn =new SqlConnection(@"Data Source=.\;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=False");

    主程序页面的所有代码为:

     1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Text;
    5 using System.Data.SqlClient;
    6
    7 namespace 第一个mdf
    8 {
    9 class Program
    10 {
    11 staticvoid Main(string[] args)
    12 {
    13 string dataDir = AppDomain.CurrentDomain.BaseDirectory;
    14 if (dataDir.EndsWith(@"\bin\Debug\")
    15 || dataDir.EndsWith(@"\bin\Release\"))
    16 {
    17 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
    18 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
    19 }
    20
    21 SqlConnection conn =new SqlConnection(@"Data Source=.\;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=False");
    22
    23 conn.Open();
    24 Console.WriteLine("打开数据库成功");
    25 }
    26 }
    27 }

    此时就可以运行了!!

    具体错误及解决办法:

    1.注意看此路径是否为你数据库所在路径,不是的话改正。

    2.如果路径正确,那通过文件夹进入该路径,鼠标右键该数据库看看用户权限是否满足。


     3.数据库的实例直接写错了:“Data Source=.。。。。。。。。。。。”

    4.当成功连接一次成功后,修改字符串再次连接有时会报错,此时应把SQL中的生成的数据库点击右键:任务->分离,否则vs会提示:正由另一进程使用,因此该进程无法访问此文件。生成失败。

  • 相关阅读:
    获取窗口相对位置小工具
    关于抽奖概率的问题
    乔布斯的成功秘方:坚持思考两个问题
    清理svn生成的相关文件的小工具
    photoshop cs6 简体中文正式版下载
    .NET下office操作利器NPOI
    sql 取各组中的最大值
    c# winform 获取当前程序运行根目录
    C# Winform DataGridView使用总结 转
    c#安装数据库并自动修改Web.config类
  • 原文地址:https://www.cnblogs.com/sunwufan/p/2120485.html
Copyright © 2020-2023  润新知