【发布时间】:2013-12-13 16:16:30
【问题描述】:
我想使用数据阅读器读取记录并将结果发送到数组字符串。
我使用存储过程从 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?? -
为什么不用List?
-
@user30551479 还是数据表?这可能对你有帮助msdn.microsoft.com/en-us/magazine/cc188717.aspx。
标签: c# .net sql-server ado.net