我找不到对这种奇怪行为的正确解释。 在另一个项目中,这就像一个魅力。 当我解析sqlconnection并使用System.Data.SqlClient时,它会在executereader下使这个红色下划线....为什么它会像这样?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//*********************************
//Definerer connection stringen *
//*********************************
SqlConnection BilleddataBasen = new SqlConnection(WebConfigurationManager.ConnectionStrings["Boligforeningen_AB8"].ConnectionString);
//**************************************
//Definerer de forskellige variabler *
//**************************************
string ImageFilePath = "";
string ImageName = "";
string OverfoereDataTilImageControlPaaAspxSiden = "";
//**************************************************
//Definerer hvordan der skal læses fra databasen *
//**************************************************
SqlCommand SelectBlogIndlæg = new SqlCommand("SELECT FileName, FilePath, OprettelsesDato, Tittel, BilledetsIndhold FROM BillederTilGalleri", BilleddataBasen);
BilleddataBasen.Open();
SqlDataReader reader = BilleddataBasen.ExecuteReader();
while (reader.Read())
{
ImageName += reader["FileName"];
ImageFilePath += reader["FilePath"];
lbl_OprettelsesDato.Text += reader["OprettelsesDato"];
lbl_BilledNavnet.Text += reader["Tittel"];
lbl_BeskrivelseAfBilledet.Text += reader["BilledetsIndhold"];
}
OverfoereDataTilImageControlPaaAspxSiden = ImageFilePath + ImageName;
lbl_BilledFraDataBasen.ImageUrl = OverfoereDataTilImageControlPaaAspxSiden;
//************************************************
//Følgende to linier bestemmer pixel størrelse *
//************************************************
lbl_BilledFraDataBasen.Width = 300;
lbl_BilledFraDataBasen.Height = 250;
//*************************************
//Lukker ned for database tilgangen *
//*************************************
reader.Close();
BilleddataBasen.Close();
}
}
答案 0 :(得分:3)
SqlConnection
没有ExecuteReader
方法。 SqlCommand
。你应该打电话:
SqlDataReader reader = SelectBlogIndlæg.ExecuteReader();
请注意,在构建时,编译器错误消息应该为您提供了自己诊断所需的所有信息 - 至少在第一部分。值得回过头来弄清楚如何为自己解决这个问题(以及如何解决下一个问题)。
as asides:
using
语句列表项另外,你说:
在另一个项目中,这就像一个魅力。
这根本不是真的。您提供的代码不在任何项目中都可以使用。
答案 1 :(得分:0)
您正在SqlConnection对象上调用ExecuteReader,您应该在Command对象上调用它。
SqlDataReader reader = SelectBlogIndlæg.ExecuteReader();