当前位置:编程学习 > C#/ASP.NET >>

c# command命令直接插入access数据库问题

winform 程序


string olesel = "insert into ceshi(aa) values('77')";
            OleDbConnection conn =OleDbConnection();
            conn.ConnectionString = global::WindowsApplication3.Properties.Settings.Default.CyjsConnectionString;
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(olesel, conn);
            cmd.ExecuteNonQuery();
           
            cmd.Dispose();
            conn.Close();
执行完后在数据库中没有看到新插入的行
执行中 没有任何异常发生 
--------------------编程问答-------------------- 代码没有问题,检查你的数据库链接是否是你看到的。

cmd.ExecuteNonQuery() 返回什么 --------------------编程问答-------------------- 返回 值是1 --------------------编程问答-------------------- 检查下数据库连接~代码无误 --------------------编程问答--------------------
引用 2 楼 abelzhu 的回复:
返回 值是1


说明成功了 --------------------编程问答-------------------- 数据库连接代码 应该没有问题  因为可以读
返回值是1,说明成功了,可是表里就是没有新插入的记录 --------------------编程问答-------------------- 唯一的解释是你看错表或者mdb文件了 --------------------编程问答-------------------- 给你一个操作数据库的一个类 Concls
namespace 工程名
{
    class Concls
    {
        static public OleDbConnection oledb = new OleDbConnection();
        static public OleDbConnection oleOpen()
        { 
            oledb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=你的数据库";
            if (oledb.State == ConnectionState.Closed)
            {
                oledb.Open();
            }
             return oledb;
        }
        static public void oleClose()
        {
            oledb.Close();
        }
    }

}


然后你直接调用就可以了!
                                OleDbCommand cmd = new OleDbCommand();
                            cmd.CommandText = "insert into 表名 values('SQL语句')";//SQL语句(update)
                            cmd.Connection = Concls.oleOpen();
                            cmd.ExecuteNonQuery();
                            Concls.oleClose();
                            string messages = "成功保存到数据库中!";
                            string caption = "系统提示";
                            MessageBoxButtons button = MessageBoxButtons.OK;
                            DialogResult result;
                            result = MessageBox.Show(this, messages, caption, button, MessageBoxIcon.Asterisk); --------------------编程问答-------------------- 您可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。

虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。

对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,