【问题标题】:error says input string was not in a correct format错误说输入字符串的格式不正确
【发布时间】:2017-10-09 04:55:25
【问题描述】:

当我从下拉列表中选择并输入数量时,我正在尝试使用其 ItemName 获取 sql 列“Price”下的数据(然后将其作为 SQL 行 selecteditemfromdropdown 在 ItemName 列上插入 + Quantity 在 Qty 列上+ 我试图从另一张桌子上得到的价格)。

我使用了一个数据集适配器“datPrice”并将其存储在数据表“tblPrice”中。线上出现错误

int price = Convert.ToInt32(tblPrice.Rows[0]["Price"].ToString());

因为它说

输入的字符串格式不正确

我该如何解决这个错误?

protected void btnSave_Click(object sender, EventArgs e)
{
    DataSetTableAdapters.RawMaterialMFTableAdapter datItemName = new DataSetTableAdapters.RawMaterialMFTableAdapter();
    DataTable tblItemID = new DataTable();
    tblItemID = datItemName.GetDataByItemName(drpItemName.Text);
    int itemID = Convert.ToInt32(tblItemID.Rows[0]["ItemID"].ToString());

    DataSetTableAdapters.RawMaterialMFTableAdapter datPrice = new DataSetTableAdapters.RawMaterialMFTableAdapter();
    DataTable tblPrice = new DataTable();
    tblPrice = datPrice.GetDataByPrice(drpItemName.Text);

    int price = Convert.ToInt32(tblPrice.Rows[0]["Price"].ToString());  // Error on this line
    int total = price * Convert.ToInt32(txtQuantity.Text.ToString());

    DataSetTableAdapters.QRawMaterialTableAdapter datData = new DataSetTableAdapters.QRawMaterialTableAdapter();
    datData.InsertQueryQRM(itemID, Convert.ToInt32(txtQuantity.Text.ToString()), price, total);
}

【问题讨论】:

  • 您是否调试过代码并检查您在tblPrice.Rows[0]["Price"].ToString() 中获得了什么值?
  • 美元/价格通常存储为小数,你试过吗? var price = Convert.ToDecimal(tblPrice.Rows[1]["Price"].ToString());** ,还要检查第一行是否包含 Price 的数字值。
  • 你的意思是我得到的数据类型还是我正在使用的参数?对不起,我不太擅长这个
  • @JeremyThompson 我做了并得到一个错误,上面写着“System.Data.dll 中发生了'System.IndexOutOfRangeException' 类型的异常,但未在用户代码中处理”
  • 将索引改为0

标签: c# sql visual-studio


【解决方案1】:

int price = int.Parse(tblPrice.Rows[0]["Price"].ToString());

试试看。

【讨论】:

  • 我做了,但无论我做什么,它似乎都没有从它的桌子上得到价格。无论如何,谢谢你,我会尝试做更多的实验
  • 您是否尝试删除 .ToString?顺便说一句,你的 tblPrice 是十进制的吗?
  • 我做到了,非常感谢您对我的帮助和耐心!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-19
  • 2018-04-07
相关资源
最近更新 更多