加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – “输入字符串格式不正确”.

发布时间:2020-12-15 06:24:33 所属栏目:百科 来源:网络整理
导读:我正在一个项目,我有一个表单,通过它可以编辑列表视图中提供的问题.每当从列表视图中选择一行并单击“修改”按钮时,列表视图上方的文本框将加载问题及其选项. 这意味着当我在列表视图中选择一行并单击“修改”按钮时,问题会自动加载到文本框中.我在那里编辑
我正在一个项目,我有一个表单,通过它可以编辑列表视图中提供的问题.每当从列表视图中选择一行并单击“修改”按钮时,列表视图上方的文本框将加载问题及其选项.
这意味着当我在列表视图中选择一行并单击“修改”按钮时,问题会自动加载到文本框中.我在那里编辑问题,点击“保存”保存更改,但是我无法访问文本框中的数据.它表示{“输入字符串格式不正确”}.

我的代码形式为frmFormWizard的“编辑”按钮如下:

frmFormWizard.cs代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;

namespace SurveyBuilder
{
    public partial class frmFormWizard : Form
    {
        int intPanelNumber = 1;
        Boolean blnCancel = false;
        //int intFlag = 1;

        public frmFormWizard()
        {
            InitializeComponent();
        }

.......................
.......................
.......................
.......................


private void btnEditTwoOrMoreOptions_Click(object sender,EventArgs e)
        {

            int QuestionID;           
            string sql;

            QuestionID = Convert.ToInt32(lvTwoOrMoreOptions.SelectedItems[0].Text.ToString());
            {
                SqlConnection cn = new SqlConnection();
                SqlCommand rs = new SqlCommand();
                SqlDataReader sdr = null;
                clsConnection clsCon = new clsConnection();


                clsCon.fnc_ConnectToDB(ref cn);

                sql = "";
                sql += "SELECT * FROM SurveyQuestionLog WHERE SurveyQuestionLog.QuestionLogID = "+ QuestionID +"";
                //sql += "SELECT * FROM SurveyQuestionLog";

                rs.Connection = cn;
                rs.CommandText = sql;
                sdr = rs.ExecuteReader();

                while (sdr.Read())
                {
                    txtTwoOrMoreQuestions.Text = (string)sdr["Question"];
                    txtOption1.Text = (string)sdr["Choice1"];
                    ......................................
                    ......................................
                    ......................................
                }


                sdr.Close();
                rs = null;
                cn.Close();
            }
        }

每当我尝试编译代码时,它都会显示“{”输入字符串格式不正确.“}”,错误如下所示:

QuestionID = Convert.ToInt32(lvTwoOrMoreOptions.SelectedItems[0].Text.ToString());

请让我知道我在做错什么

解决方法

看起来文本中包含一些空格.
使用

lvTwoOrMoreOptions.SelectedItems[0].Text.ToString().Trim()

并转换为int32.

希望这段代码能解决你

从评论

如果您的ListView处于报告模式(即它看起来像一个网格),那么您将需要SubItems属性. lvTwoOrMoreOptions.SelectedItems可以在列表视图中获取每个项目 – SubItems可以获取列.所以lvTwoOrMoreOptions.SelectedItems [0] .SubItems [0]是第一列值,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读