namespace mdf
{
    class Program
    {
        static void Main(string[] args)
        {
            string dataDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dataDir.EndsWith(@"\bin\Debug") || dataDir.EndsWith(@"\bin\Release"))
            {
                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
            }      
            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;User Instance=True")) 
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand()) 
                {
                    cmd.CommandText = "insert into T_user(Name,Password) values('admin','999999')";
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("插入成功!");
                }
            }
            Console.ReadKey();
        }
    }
}
表T_user列名依次Id int Primary Key,Name char(10),Password char(10).
SQL2005以前安装的是Developer Edition,也是这个原因,表插不进数据,卸载了。最近两天反复安装不下于10次,还是没能装上,最后到microsoft官网下载Express Edition,才安装成功。结果表依旧插不进数据。求解决!较急,分不多,下次多了再给你补多得。O(∩_∩)O谢谢!

解决方案 »

  1.   

    报错什么都没有 怎么解决呢 你自己应该看看有没有错误啊
    try catch下 看看错误信息啊 这样我们才好帮你哦
      

  2.   

    ExecuteNonQuery执行一个SqlCommand返回操作影响的行数!就是不知道什么原因造成无法向表中插入数据,纳闷了!
      

  3.   

    语句是没问题的,使用SQL Server Management Studio Express能成功连接到数据库。就是不知道什么原因造成无法向表中插入数据。有点莫名其妙的感觉!
      

  4.   

    用 Try Catch捕获异常 把 异常消息 弹出来!
      

  5.   

    ExecuteNonQuery返回是string类型?会不会跟这个有关?是否需要是int类型才能返回SqlCommand操作影响的行数
      

  6.   


        {
                    conn.Open();
                    using (SqlCommand cmd =conn.CreateCommand()) 
                    {
                        cmd.CommandText = "insert into T_user(Name,Password) values('jerry','888888')";
                        int i=0;
                        try
                        {
                            i = cmd.ExecuteNonQuery();
                        }
                        catch(Exception ex)
                        {
                            Console.Write(ex);
                        }                   
                        
                        Console.WriteLine(i.ToString());
                      
                    }
                }测试i=1;影响行数为1,按道理应该插入成功了,会不会跟其他有关,比如数据库连接问题?
      

  7.   

    如果插入都成功了 怎么会是数据库连接的问题呢
    如果连接有问题 在conn.Open();的时候就会报错的哦
    不知道楼主遇到什么问题 所以没办法帮你 自己仔细检查下吧
      

  8.   

    先谢谢,会不会跟数据存储到表中的过程有关系?conn.Open()打开了,就是连接成功了,但插入数据时,数据库它自己没能及时保存数据呢?导致表中没有此数据呢??有没有这种情况处理方式?
      

  9.   

    楼主可以这样调试 
    把你的sql直接到数据库里面去执行下 看看能不能进去
    如果这样都不行 那就是sql有问题了
    insert into T_user(Name,Password) values('jerry','888888')
    直接去库里执行下试试 然后加个分号在末尾 难道是这个原因 
    insert into T_user(Name,Password) values('jerry','888888');反正挺奇怪的 我也不大清楚
      

  10.   

    在库里写SQL能插入的!就是Program里无法插入进去。
      

  11.   

    最好是加到try{}catch{}里调试一下..
      

  12.   

    语句没错,就是莫名其妙表插不进数据,会不会跟数据存储到表中的过程有关系?conn.Open()打开了,就是连接成功了,但插入数据时,数据库它自己没能及时保存数据呢?导致表中没有此数据呢??有没有这种情况处理方法?先谢谢你了!