我想使用數據讀取器讀取記錄並將結果發送到數組字符串。使用SqlDataReader和字符串數組
我使用存儲過程從2個表中選擇數據。
string ReqID = "";
string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlc;
string[] textbox;
string ReqType;
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ReqID"] != null)
ReqID = this.Request.QueryString["ReqID"];
sqlc = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "LoadReq";
string[] textbox = new string[4];
if (!this.IsPostBack)
{
if (ReqID != "")
{
cmd.Parameters.Add("@ReqID", SqlDbType.NChar).Value = ReqID;
cmd.Connection = sqlc;
sqlc.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
textbox[2] = reader.GetString(reader.GetOrdinal("FReqID"));
textbox[3] = reader.GetString(reader.GetOrdinal("OrderDate"));
textbox[4] = reader.GetString(reader.GetOrdinal("OrderTime"));
textbox[5] = reader.GetString(reader.GetOrdinal("ReqIP"));
textbox[6] = reader.GetString(reader.GetOrdinal("Status"));
textbox[7] = reader.GetString(reader.GetOrdinal("FileCode"));
textbox[8] = reader.GetString(reader.GetOrdinal("Type"));
textbox[9] = reader.GetString(reader.GetOrdinal("DOI"));
textbox[10] = reader.GetString(reader.GetOrdinal("PubMedID"));
textbox[11] = reader.GetString(reader.GetOrdinal("PaperCode"));
LoadCorrectForm(textbox[8], textbox);
}
}
而且我的存儲過程是:
CREATE PROCEDURE [dbo].LoadReq
@ReqID int = 0
AS
SELECT
Request.FReqID, Request.ReqIP, Request.OrderDate, Request.OrderTime,
Request.[Status], Request.FileCode, Request.[Description],
Details.[Type], Details.DOI, Details.PubMedID, Details.PaperCode,
Details.ISBN, Details.Title, Details.Journal, Details.BookTitle,
Details.Conference, Details.[Year], Details.Publisher, Details.Edition,
Details.Vol, Details.Issue, Details.pp, Details.[Author(s)],
Details.URL
FROM
Request
INNER JOIN
Details ON Details.ID = Request.FreqID
WHERE
(Request.ID = @ReqID)
但我得到一個錯誤。
我該如何編輯我的代碼來完成這項工作?
你定義了數組''textbox'的大小爲'4',並且你正在設置它的元素'11'? – Habib
爲什麼不使用[List](http://msdn.microsoft.com/en-us/library/6sh2ey19%28v=vs.110%29.aspx)? –
@ user30551479還是數據表?這可能對您有所幫助http://msdn.microsoft.com/zh-cn/magazine/cc188717.aspx。 –