向数据库插入数据的问题,大家帮忙看看是怎么回事?

gray0754 2010-10-30 03:22:42
在本地测试插入数据没问题,但是在服务器插入的时候就提示这个:

在位置 0 处没有任何行。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.IndexOutOfRangeException: 在位置 0 处没有任何行。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[IndexOutOfRangeException: 在位置 0 处没有任何行。]
System.Data.DataRowCollection.get_Item(Int32 index) +63
st114ok.Member1.Product.Add.Button1_ServerClick()
st114ok.Member1.Product.Add.Page_Load(Object sender, EventArgs e)
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +750


大家看下是怎么回事,谢谢,在线等
...全文
146 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
gray0754 2010-11-09
  • 打赏
  • 举报
回复
原来是服务器数据库中gdCompany这长表中没有这个C_iD,也就获取不到那行数据,换成另一个地区的表就可以了,谢谢大家
chen_ya_ping 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gray0754 的回复:]

为什么在本地测试是正常的,但是一到服务器上去测试就会出现那个错误呢?
[/Quote]
那你可以连接服务器上的数据库进行调试一下,不就可以了啊。
gray0754 2010-10-30
  • 打赏
  • 举报
回复
本地的和服务器上的数据库是相同的
zsc970 2010-10-30
  • 打赏
  • 举报
回复
先查Request.Cookies["C_ID"].Value.ToString());有没有值.
再查dt是为null
zsc970 2010-10-30
  • 打赏
  • 举报
回复
楼主,在本地和服务器上的数据库不一样吧,服务器上的数据库没数据.
gray0754 2010-10-30
  • 打赏
  • 举报
回复
这个字段在数据库是没有空的,就1或0
Learning_bx 2010-10-30
  • 打赏
  • 举报
回复
if (dt.Rows[0]["DN_ID"].ToString() == "1"),"DN_ID"服务器数据库中的值是不是有为空的
gray0754 2010-10-30
  • 打赏
  • 举报
回复
为什么在本地测试是正常的,但是一到服务器上去测试就会出现那个错误呢?
gray0754 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 object_delusion 的回复:]
DataTable dt = comp.SelectByCID(Int32.Parse(Request.Cookies["C_ID"].Value.ToString()));
是你的Cookis过期了。还是没有与C_ID关联的值.


if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["DN_ID"].ToString() == "1")
{……
[/Quote]
我用你的方法试下
柳泉青云 2010-10-30
  • 打赏
  • 举报
回复
DataTable dt = comp.SelectByCID(Int32.Parse(Request.Cookies["C_ID"].Value.ToString()));
是你的Cookis过期了。还是没有与C_ID关联的值.


if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["DN_ID"].ToString() == "1")
{
model.PAud = true;
}
else
{
model.PAud = false;
}
}
juge001 2010-10-30
  • 打赏
  • 举报
回复
if(dt.Rows[0]["DN_ID"].ToString() == "1")

应该是这一句报的错,你的dt里面没有任何的行。
你查一下你的数据库是不是没有相关的数据
gray0754 2010-10-30
  • 打赏
  • 举报
回复

public int AddProductII(ProductData data)
{
st114ok.st114okDAL.ProductDao dao = new ProductDao();
return dao.InsertII(data);
}



public int InsertII(ProductData data)
{
SqlParameter[] arParams = new SqlParameter[14];
arParams[0] = new SqlParameter("@CID", SqlDbType.Int, 4);
arParams[0].Value = data.CID;
arParams[1] = new SqlParameter("@PIID", SqlDbType.Int, 4);
arParams[1].Value = data.PIID;
arParams[2] = new SqlParameter("@PName", SqlDbType.VarChar, 100);
arParams[2].Value = data.PName;
arParams[3] = new SqlParameter("@PPrice", SqlDbType.VarChar, 20);
arParams[3].Value = data.PPrice;
arParams[4] = new SqlParameter("@PType", SqlDbType.VarChar, 50);
arParams[4].Value = data.PType;
arParams[5] = new SqlParameter("@PPubsDate", SqlDbType.DateTime, 8);
arParams[5].Value = data.PPubsDate;
arParams[6] = new SqlParameter("@PCommend", SqlDbType.Bit, 1);
arParams[6].Value = data.PCommend;
arParams[7] = new SqlParameter("@PAccessing", SqlDbType.Int, 4);
arParams[7].Value = data.PAccessing;
arParams[8] = new SqlParameter("@PRemark", SqlDbType.VarChar, 150);
arParams[8].Value = data.PRemark;
arParams[9] = new SqlParameter("@PAud", SqlDbType.Bit, 1);
arParams[9].Value = data.PAud;
arParams[10] = new SqlParameter("@PID", SqlDbType.Int, 4);
arParams[10].Direction = ParameterDirection.Output;
arParams[11] = new SqlParameter("@PItemType", SqlDbType.VarChar, 100);
arParams[11].Value = data.PItemType;
arParams[12] = new SqlParameter("@siteid", SqlDbType.Int, 4);
arParams[12].Value = data.SiteID;
arParams[13] = new SqlParameter("@pvisual", SqlDbType.Bit, 1);
arParams[13].Value = data.Pvisual;

SQLHelper.SQLHelper.ExecuteNonQuery(base.ConnectionString, CommandType.StoredProcedure, "sp_Product_InsertII", arParams);
return (int) arParams[10].Value;
}
gray0754 2010-10-30
  • 打赏
  • 举报
回复
代码:


if(P_Title.Value.Trim().Length == 0)
{
Response.Write("<script>alert(\"请输入产品名\")</script>");
return;
}
WebbUpload m_upload = new WebbUpload();
UploadFileCollection m_files= m_upload.GetUploadFileList("m_file");

int num=0;
foreach(UploadFile m_file in m_files)
{
if(m_file.FileName == null||m_file.FileName == string.Empty)
{
continue;
}
else
{
num++;
}
}
int intCount=_intPostNumber-num;
if(intCount<0)
{
Response.Write("<script>alert(\"存放图片空间已经不足,请删除旧产品图片!\")</script>");
return ;
}


BLL.CompanyBLL comp = new st114ok.st114okBLL.CompanyBLL();
DataTable dt = comp.SelectByCID(Int32.Parse(Request.Cookies["C_ID"].Value.ToString()));
Model.ProductData model = new Model.ProductData();
model.PName = Rules.CheckInfo.InputText2(P_Title.Value.Trim());
model.CID = Convert.ToInt32(Request.Cookies["C_ID"].Value.ToString());
model.PIID = 0;
if(P_Type_1.Checked)
model.PType = P_Type_1.Value.Trim();
if(P_Type_2.Checked)
model.PType = P_Type_2.Value.Trim();
if(P_Type_3.Checked)
model.PType = P_Type_3.Value.Trim();
if(P_Type_4.Checked)
model.PType = P_Type_4.Value.Trim();
if(P_Type_5.Checked)
model.PType = P_Type_5.Value.Trim();
if(P_Type_6.Checked)
model.PType = P_Type_6.Value.Trim();
//model.PSpecs = Rules.CheckInfo.InputText2(P_Specs.Value.Trim());
model.PPrice = P_Price.Value.Trim();
model.PCommend =false;

model.PPubsDate = System.DateTime.Now;
model.PAccessing = 0;
model.PRemark = P_About.Value.Trim();
if(dt.Rows[0]["DN_ID"].ToString() == "1")
{
model.PAud = true;
}
else
{
model.PAud = false;
}
dt.Dispose();
model.PItemType="";
if(htypedisplay.Value=="true")
{
if(r1.Checked)
{
model.PItemType=this.drptype.SelectedItem.Text;

}
if(r2.Checked)
{
model.PItemType=this.txtinputtype.Text.Trim();
}
}
if(this.trvip3choose.Visible)
{
model.Pvisual=this.radMember.Checked;

}
else
{
model.Pvisual=false;

}
model.SiteID=Int32.Parse(Request.Cookies["user"]["siteid"].ToString());



BLL.ProductBLL Product = new BLL.ProductBLL();

model.PID = Product.AddProductII(model);
Up_Image(model.PID);
Response.Write("<script>alert(\"发布成功\");location.href='Add.aspx'</script>");
wuyq11 2010-10-30
  • 打赏
  • 举报
回复
贴出代码,Count>0

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧