数据库用的Access,用了三层和抽象工厂。
问题:
1、在 …Web/Manage/Components/CaseList.aspx 做 修改
update是成功了,但影响行数老是0。我用了gridView自已的修改和自己写方法修改都是这样。
AccessDAL项目里的AccessDAL也没有错,用的是传参方式。对应Access数据库表是Case表。
最奇怪的是同在一个目录下的ProductList.aspx更新又没有问题,用的DBHelper是一样的。
搞了几天搞不了,只能发上来请教会的人了。2、选中…Web/Manage/Components/ProductList.aspx 启动VS2008运行,连点刷新会报错。
有两个地方,取分页的总页数时会报错,把他调成 private static int TotalPage = ProductManager.GetProCount(pageSize)
静态这时就没事。然而取分页集合时又报错。 点慢没事,拼命点就报错。
本人用asp.net一个多月,这两个问题目前水平实在解决不了,请教会朋友和高手们了,先谢谢!
源码在我的E盘里。TempletEE.rar的压缩文件。
下载地址:http://Landry.qupan.com/4890504.html
问题:
1、在 …Web/Manage/Components/CaseList.aspx 做 修改
update是成功了,但影响行数老是0。我用了gridView自已的修改和自己写方法修改都是这样。
AccessDAL项目里的AccessDAL也没有错,用的是传参方式。对应Access数据库表是Case表。
最奇怪的是同在一个目录下的ProductList.aspx更新又没有问题,用的DBHelper是一样的。
搞了几天搞不了,只能发上来请教会的人了。2、选中…Web/Manage/Components/ProductList.aspx 启动VS2008运行,连点刷新会报错。
有两个地方,取分页的总页数时会报错,把他调成 private static int TotalPage = ProductManager.GetProCount(pageSize)
静态这时就没事。然而取分页集合时又报错。 点慢没事,拼命点就报错。
本人用asp.net一个多月,这两个问题目前水平实在解决不了,请教会朋友和高手们了,先谢谢!
源码在我的E盘里。TempletEE.rar的压缩文件。
下载地址:http://Landry.qupan.com/4890504.html
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='#' Text="编辑"></asp:HyperLink>2:运行…Web/Manage/Components/ProductList.aspx,没有报错,只是提示重复提交。
这么简单句都不不行。效率不高也许可能,我看别人的思路差不多也不会死锁。是不是要加多一个象PetShop项目那样的消息队列?
看看是哪里的问题,慢慢找原因
操作的是实体类还是数据库,点击多次应该是反应速度问题导致出错
地址:http://download.csdn.net/source/1748792
/// 更新一条数据
/// </summary>
//public int Update(Case caseTo)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("update [Case] set "); // strSql.Append("tradeID=@tradeID,");
// strSql.Append("caseTypeID=@caseTypeID,");
// strSql.Append("caseName=@caseName,");
// strSql.Append("companyName=@companyName,");
// strSql.Append("desingner=@desingner,");
// strSql.Append("description=@description,");
// strSql.Append("isGood=@isGood,");
// strSql.Append("re=@re,");
// strSql.Append("createTime=@createTime");
// strSql.Append(" where caseID=@caseID");
// OleDbParameter[] parameters = {
// new OleDbParameter("@caseID", caseTo.CaseID),
// new OleDbParameter("@tradeID", caseTo.TradeID),
// new OleDbParameter("@caseTypeID", caseTo.CaseTypeID),
// new OleDbParameter("@caseName", caseTo.CaseName == null ? string.Empty:caseTo.CaseName),
// new OleDbParameter("@companyName", caseTo.CompanyName == null ? string.Empty:caseTo.CompanyName),
// new OleDbParameter("@desingner", caseTo.Desingner == null ? string.Empty:caseTo.Desingner),
// new OleDbParameter("@description", caseTo.Description == null ? string.Empty:caseTo.Description) ,
// new OleDbParameter("@isGood", caseTo.IsGood),
// new OleDbParameter("@re", caseTo.Re == null ? string.Empty:caseTo.Re),
// new OleDbParameter("@createTime", caseTo.CreateTime)};
// return AccessHelper.ExecNonQuery(strSql.ToString(), parameters);
//}
public int Update(Case caseTo)
{
string sql = "update [Case] set desingner=@desingner where caseID=@caseID";
OleDbParameter[] parameters = {
new OleDbParameter("@caseID", caseTo.CaseID),
new OleDbParameter("@desingner", caseTo.Desingner)
};
return AccessHelper.ExecNonQuery(sql, parameters);
}
请朋友们帮帮忙吧。
字符 直接+ 就好了
怕用 内存 用 stringbuilder.Append() 函数string sql = "update [Case] set desingner='"+caseTo.Desingner+"' where caseID='"+"+caseTo.CaseID+"+"'";
// new OleDbParameter("@caseID", caseTo.CaseID),
// new OleDbParameter("@tradeID", caseTo.TradeID),
// new OleDbParameter("@caseTypeID", caseTo.CaseTypeID),
// new OleDbParameter("@caseName", caseTo.CaseName == null ? string.Empty:caseTo.CaseName),
// new OleDbParameter("@companyName", caseTo.CompanyName == null ? string.Empty:caseTo.CompanyName),
// new OleDbParameter("@desingner", caseTo.Desingner == null ? string.Empty:caseTo.Desingner),
// new OleDbParameter("@description", caseTo.Description == null ? string.Empty:caseTo.Description) ,
// new OleDbParameter("@isGood", caseTo.IsGood),
// new OleDbParameter("@re", caseTo.Re == null ? string.Empty:caseTo.Re),
// new OleDbParameter("@createTime", caseTo.CreateTime)};在构造参数的地方,类似于caseTo.Description == null ? string.Empty:caseTo.Description
这里,改成caseTo.Description == null ? "":caseTo.Description用""替换string.Empty
还有一个Update不成功的原因。谢谢楼上回答的同志,分我会看着给的。
回26楼,没有报错,只是update没有更新到数据。
public int Update(Case caseTo)
{
string sql = "update [Case] set desingner=@desingner where caseID=@caseID";
OleDbParameter[] parameters = {
new OleDbParameter("@caseID", caseTo.CaseID),
new OleDbParameter("@desingner", caseTo.Desingner)};
return AccessHelper.ExecNonQuery(sql, parameters);
}
(http://space.itpub.net/14601556/viewspace-528473),
是百度里的http://zhidao.baidu.com/question/107906361.html这个问题。GOOGLE里搜 access oledbparameter 会有很多答案!谢谢回来的朋友们了,散分结贴。