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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 李玮 于 2012-6-4 17:04 编辑

下面是代码,运行后,数据导入对话框弹出,但是查看数据并没用导入

我是建的数据库名:  Shujvdaoru.mdf              表名:TableUser

被插数据:
tom|30
jerry|20
kucy|25

我的代码:

   private void button1_Click(object sender, EventArgs e)
        {

      
            if (odfimport.ShowDialog() == DialogResult.OK)
            {
                using (FileStream fileStream = File.OpenRead(odfimport.FileName))
                {
                    using (StreamReader reader = new StreamReader(fileStream))
                    {
                        string line = null;
                        while ((line = reader.ReadLine()) != null)
                        {
                            string[] strs = line.Split('|');
                            string name = strs[0];
                            int age = Convert.ToInt32(strs[1]);
                            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Shujvdaoru.mdf;Integrated Security=True;User Instance=True
"))
                            {
                                conn.Open();
                                using (SqlCommand cmd = conn.CreateCommand())
                                {
                                    cmd.CommandText = "insert into TableUser (Name,Age) values (@Name,@Age)";
                                    cmd.Parameters.Add(new SqlParameter("Name", name));
                                    cmd.Parameters.Add(new SqlParameter("Age", age));
                                    cmd.ExecuteNonQuery();
                                }
                            }
                        }
                    }
                }
               
            MessageBox.Show("导入成功!");
        }

        }



评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

8 个回复

正序浏览
要不把那个连接字符串的代码换一下把!!就可以不用神奇的代码了  呵呵  Data Source = 服务器名称,Initial Catalog= 表名,Trusted_Connection = true;  可以用这个试一下哈!!我当时就是没有用老师视频里边讲的那样!!呵呵!!

评分

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

查看全部评分

回复 使用道具 举报
为嘛我的加了那段神奇的代码,提示执行成功了,但是数据库表中没数据呢?
回复 使用道具 举报
朱亮辉 发表于 2012-6-4 18:37
你确认加上神奇代码就能运行了吗?,你这两句代码有问题吧?
cmd.Parameters.Add(new SqlParameter("Name" ...

不改肯定对  老师也是
cmd.Parameters.Add(new SqlParameter("Name", name));
cmd.Parameters.Add(new SqlParameter("Age", age));

加了那段代码就行了 那段神奇的代码
回复 使用道具 举报
朱亮辉 发表于 2012-6-4 18:37
你确认加上神奇代码就能运行了吗?,你这两句代码有问题吧?
cmd.Parameters.Add(new SqlParameter("Name" ...

这个倒是没必要,加@和不加都能运行
回复 使用道具 举报
你确认加上神奇代码就能运行了吗?,你这两句代码有问题吧?
cmd.Parameters.Add(new SqlParameter("Name", name));
cmd.Parameters.Add(new SqlParameter("Age", age));
改为
cmd.Parameters.Add(new SqlParameter("@Name", name));
cmd.Parameters.Add(new SqlParameter("@Age", age));

评分

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

查看全部评分

回复 使用道具 举报
董超 发表于 2012-6-4 16:57
那一段“神奇的代码”你加了吗??
           string dataDir = AppDomain.CurrentDomain.BaseDirectory;
...

:'(神人啊 你不说我真忘了:@ 我死的心都有了

大哥给力:curse:
回复 使用道具 举报
那一段“神奇的代码”你加了吗??
           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);
            }

评分

参与人数 2技术分 +2 黑马币 +8 收起 理由
郑文 + 2
李玮 + 8 很给力!

查看全部评分

回复 使用道具 举报
求救啊{:soso_e135:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马