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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© me黄小峰 黑马帝   /  2012-3-8 13:13  /  2315 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 me黄小峰 于 2012-3-29 19:46 编辑

我用的是Vs2010 然后新的一个控制台的应用程序,并且也建了一个数据库,
可以打开数据库,也可以查询表,可向表里插入数据的时候就是插不进去,并且程序也不报错,
  static void Main(string[] args)
        {
            Console.Write("输入用户名:");
            string uname = Console.ReadLine();
            Console.Write("输入密码:");
            string pword = Console.ReadLine();
            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 com = new SqlConnection(@"Data Source=.\SQLEXPRESS;
                AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True; User Instance= True"))
            {
                com.Open();
                using (SqlCommand cmd = com.CreateCommand())
                {
                    cmd.CommandText = "Insert into Table1 (username , password) values ('" + uname + "','" + pword + "')";
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("插入成功");

把这段代码执行完了,可是数据库里没有数据啊。这是为什么啊???

评分

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

查看全部评分

6 个回复

倒序浏览
运行完系统有提示 插入成功么?
回复 使用道具 举报
cmd.CommandText=string.Format("insert into Tale1 (username,password) values('{0}','{1}')",uname,pword)
这样写试试  然后看看cmd.ExecuteNonQuery()返回的数值是否大于0

评分

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

查看全部评分

回复 使用道具 举报
控制台上显示“插入成功”并且 cmd.ExecuteNonQuery();的反回值为1,可是到数据库里查看还是没有数据啊。现在已经把我给搞晕了。这是怎么回事啊。

评分

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

查看全部评分

回复 使用道具 举报
用winform程序试试
回复 使用道具 举报
把数据库刷新下看看……
回复 使用道具 举报
邓坤 中级黑马 2012-3-12 12:33:18
7#
咋一看没什么错误,其实就需要改一点点就OK了
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
替换掉这句话就行了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马