A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王超洋 中级黑马   /  2012-5-21 01:39  /  2722 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王超洋 于 2012-5-21 01:46 编辑

我按照视频上的为什么总是插入不了数据,表名字肯定没错,运行也显示插入成功,连接成功,就是打开表什么数据也没有,调试了快一个小时还是不行,试了论坛上的方法也不行,求解啊。。。
              Console.WriteLine("请输入用户名");
              string name = Console.ReadLine();
              Console.WriteLine("请输入密码");
              string password = Console.ReadLine();
              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 person(name,password) values ('"+name+"','"+password+"')";
                      cmd.ExecuteNonQuery();
                      Console.WriteLine("插入成功");
                  }
              }
              Console.WriteLine("打开数据库连接成功");
              Console.ReadKey();

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

11 个回复

倒序浏览
好像看不出什么错,这样的话就下断点啊。下了看看就知道了。
要不就是你写了前面的那那段代码了吗,老师在教程里说过,如果不加的话是看不到的。sting datadir=…………什么的。 如果真是插入成功,你用SQL查询,查询下不要直接打开表试试。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
你的代码都没有什么问题,都能成功的执行,你测试过没测试过你的链接字符串啊,你的链接字符串存在错误,已经替你测试过了,正确的代码贴给你,链接字符串的用户名和密码自己修改吧!

            Console.WriteLine("请输入姓名");
            string name = Console.ReadLine();
            Console.WriteLine("请输入年龄");
            string age = Console.ReadLine();
            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Database1;User ID=sa;PassWord=123456"))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "Insert INTO Test VALUES('" + name + "','" + age + "','" + DateTime.Now + "')";
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("插入成功");
                }
            }
            Console.WriteLine("打开数据库连接成功");
            Console.ReadKey();

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
楼上的连接字符串不就是省略了列名吗 看不出有什么区别
回复 使用道具 举报
班顶超 发表于 2012-5-21 09:24
好像看不出什么错,这样的话就下断点啊。下了看看就知道了。
要不就是你写了前面的那那段代码了吗,老师在 ...

都试过了 那段代码也写了,还是不行。。。
            string dateDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dateDir.EndsWith(@"\bin\Debug\") || dateDir.EndsWith(@"\bin\Release\"))
            {
                  dateDir = System.IO.Directory.GetParent(dateDir).Parent.Parent.FullName;
                  AppDomain.CurrentDomain.SetData("DateDirectory",dateDir);
            }
回复 使用道具 举报
这问题很严重啊 我就复制你的代码 后 结果和你一样 搞不出来,我也调试了2小时了。版主敢出来帮他调试吗
回复 使用道具 举报
许庭洲 黑马帝 2012-5-21 12:52:19
7#
这可能是数据库内用户表字段ID属性没有设置,也就是自增ID 的处理,希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
真正原因已经找到 string dateDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dateDir.EndsWith(@"\bin\Debug\") || dateDir.EndsWith(@"\bin\Release\"))
            {
                  dateDir = System.IO.Directory.GetParent(dateDir).Parent.Parent.FullName;
                  AppDomain.CurrentDomain.SetData("DateDirectory",dateDir);
            }


string dateDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dateDir.EndsWith(@"\bin\Debug\") || dateDir.EndsWith(@"\bin\Releasel\"))
            {
                  dateDir = System.IO.Directory.GetParent(dateDir).Parent.Parent.FullName;
                  AppDomain.CurrentDomain.SetData("DateDirectory",dateDir);
            }

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
喻健 中级黑马 2012-5-21 22:20:33
9#
班顶超 发表于 2012-5-21 13:07
真正原因已经找到 string dateDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dateDir.End ...

红色标注的是什么意思?我刚刚也是出现了这个问题。看不明白你这个红色标记的意思。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马