访问数据库中的数据并将其显示在文本框中
本文关键字:显示 文本 数据库 数据 访问 | 更新日期: 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('~');
因为您的列由~字符分隔。