黑马程序员技术交流社区

标题: 向数据库中插入不进数据 [打印本页]

作者: me黄小峰    时间: 2012-3-8 13:13
标题: 向数据库中插入不进数据
本帖最后由 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("插入成功");

把这段代码执行完了,可是数据库里没有数据啊。这是为什么啊???
作者: 林其响    时间: 2012-3-8 13:40
运行完系统有提示 插入成功么?
作者: 柏云杉    时间: 2012-3-8 13:45
cmd.CommandText=string.Format("insert into Tale1 (username,password) values('{0}','{1}')",uname,pword)
这样写试试  然后看看cmd.ExecuteNonQuery()返回的数值是否大于0
作者: me黄小峰    时间: 2012-3-8 14:29
控制台上显示“插入成功”并且 cmd.ExecuteNonQuery();的反回值为1,可是到数据库里查看还是没有数据啊。现在已经把我给搞晕了。这是怎么回事啊。

作者: 柏云杉    时间: 2012-3-8 14:49
用winform程序试试
作者: ☆丿灬北纬28°    时间: 2012-3-12 12:09
把数据库刷新下看看……
作者: 邓坤    时间: 2012-3-12 12:33
咋一看没什么错误,其实就需要改一点点就OK了
if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
替换掉这句话就行了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2