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

前端之家收集整理的这篇文章主要介绍了c# – “输入字符串格式不正确”.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在一个项目,我有一个表单,通过它可以编辑列表视图中提供的问题.每当从列表视图中选择一行并单击“修改”按钮时,列表视图上方的文本框将加载问题及其选项.
这意味着当我在列表视图中选择一行并单击“修改”按钮时,问题会自动加载到文本框中.我在那里编辑问题,点击“保存”保存更改,但是我无法访问文本框中的数据.它表示{“输入字符串格式不正确”}.

我的代码形式为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]是第一列值,

猜你在找的C#相关文章