读书人

SQL 挑错解决方案

发布时间: 2012-11-05 09:35:12 作者: rapoo

SQL 挑错
共有三个问题,没有递进关系,请指教

1.///////////////////////////////////////////////////////////////////////////////////////////////////

C# code
//以下的 SQL语句 用得正确吗? 可以用"@dataTable" 这样的参数吗? public bool delEmailAccount(int nodeId, string dataTable, string userName)        {             OleDbParameter[] parameters = {                                                 new OleDbParameter("@dataTable",dataTable),                                                 new OleDbParameter("@nodeId", nodeId),                                                 // new OleDbParameter("@userName", userName),            };             return DBhelper.ExecuteNonqueryBool("delete from @dataTable where id=@nodeId", parameters);        }



2.///////////////////////////////////////////////////////////////////////////////////////////////////
C# code
     //为什么以下的语句操作不了数据库的数据?        public bool delEmailAccount(int nodeId, string dataTable, string userName)        {             OleDbParameter[] parameters = {                                                //这里为什么就不能用下面的参数方式来执行操作呢?                                                //new OleDbParameter("@dataTable",dataTable),                                                 new OleDbParameter("@nodeId", nodeId),                                                 // new OleDbParameter("@userName", userName),            };             return DBhelper.ExecuteNonqueryBool("delete from " + dataTable + " where id=@nodeId", parameters);        }     //而以下的语句却可以呢?        public bool delEmailAccount(int nodeId, string dataTable, string userName)        {             OleDbParameter[] parameters = {                                                 //new OleDbParameter("@dataTable",dataTable),                                                // new OleDbParameter("@nodeId", nodeId),                                                 // new OleDbParameter("@userName", userName),            };             return DBhelper.ExecuteNonqueryBool("delete from " + dataTable + " where id=" + nodeId, parameters);        }



3.///////////////////////////////////////////////////////////////////////////////////////////////////
为什么以下语句老添加不进数据库呢,返回的都是False.语句上有错误吗?
C# code
    //添加搜索结果到数据库        public bool addToDataBase(emailSearchSys_model model)        {            OleDbParameter[] parameters = {             new OleDbParameter("@CustomerEmail", model.CustomerEmail),            new OleDbParameter("@CustomerPhone", model.CustomerPhone),            new OleDbParameter("@CustomerNote", model.CustomerNote),            new OleDbParameter("@categoryId", model.CategoryId),            new OleDbParameter("@categoryName", model.CategoryName),            new OleDbParameter("@userName", model.UserName),        };            return DBhelper.ExecuteNonqueryBool("insert into CustomerData (email,phone,cmsNote,categoryId,categoryName,userName)"+"values (@CustomerEmail,@CustomerPhone,@CustomerNote,@categoryId,@categoryName,@userName)", parameters);        }




[解决办法]
上面的例子已经很明显了,,你的参数设置有问题,,
自己查查资料看看

读书人网 >C#

热点推荐