访问数据库中的数据并将其显示在文本框中

本文关键字:显示 文本 数据库 数据 访问 | 更新日期: 2023-09-27 18:25:35

我使用此代码访问数据库中的数据并将其显示在文本框中,但我在第一个文本框中得到了整个字符串columns,我如何在各自的文本框中拆分和显示,我在代码txtOption2.Text = coldata[2]; 的这一行得到了此异常Index was outside the bounds of the array.

public EditQuestionMaster(int qid_value)
        {
            InitializeComponent();
            string columns = db.GetEditQuestions(qid_value);
            string[] coldata=columns.Split('$');
                txtQuestion.Text = coldata[0];
                txtOption1.Text = coldata[1];
                txtOption2.Text = coldata[2];
                txtOption3.Text = coldata[3];
                txtOption4.Text = coldata[4];                           
        }

GetEditQuestions(qid_value)代码

public string GetEditQuestions(int qid)
        {
            string data = "";
            try
            {
                string sql = "select QID,Question,Opt1,Opt2,Opt3,Opt4,AnsOp,Marks from Questions where QID IN(" + qid + ") ";
                cmd = new OleDbCommand(sql, acccon);
                rs = cmd.ExecuteReader();
                if (rs.Read())
                {
                    data = rs[0].ToString() + "~" + rs[1].ToString() + "~" + rs[2].ToString() + "~" + rs[3].ToString() + "~" + rs[4].ToString() + "~" + rs[5].ToString() + "~" + rs[6].ToString() + "~" + rs[7].ToString() + "$";
                }
            }
            catch (Exception err)
            {
            }
            return data;
        }

提前感谢您的帮助

访问数据库中的数据并将其显示在文本框中

您似乎按$分割字符串,但您使用~作为分隔符构建字符串。您需要通过~分割字符串以获得适当的列数,即

string[] coldata = columns.Split("~")

您看到该错误是因为coldata中只有2个项目。尝试调试并查看coldata数组的长度,以查看它包含的项数。

更改代码以使用此拆分:

string[] coldata=columns.Split('~');

查看您的代码示例,您只需要更改:

string[] coldata=columns.Split('$');

string[] coldata=columns.Split('~');

因为您的列由~字符分隔。