C#を初めて使用しています。初心者向けのKudvenkatチュートリアルにちょうど従ってください。私は、この行のエラーを取得:ExecuteReader();
"System.Data.SqlClient.SqlDataReader"を "SqlDataReader.SqlDataReader"に暗黙的に変換できません。
を行うには
SqlDataReader rdr = cmd.ExecuteReader();
何かを、私はその何かがシンプル確信しているが、それが起こるんなぜあなたは説明してくださいだろうか?
マイaspx.csファイル
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace SqlDataReader
{
public partial class SqlDataReader : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// creating variable that holds value of connection string
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
// creating connection object with use of "using" block
using (SqlConnection con = new SqlConnection(CS))
{
con.Open();
SqlCommand cmd = new SqlCommand("select top 5 ProductID, LocationID,Shelf,Quantity from [Production].[ProductInventory]", con);
SqlDataReader rdr = cmd.ExecuteReader(); // --Error
GridView1.DataSource = rdr;
GridView1.DataBind();
}
}
}
}
私のaspxファイル:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SqlDataReader.aspx.cs" Inherits="SqlDataReader.SqlDataReader" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:GridView ID="GridView1" runat="server" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2">
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FFF1D4" />
<SortedAscendingHeaderStyle BackColor="#B95C30" />
<SortedDescendingCellStyle BackColor="#F1E5CE" />
<SortedDescendingHeaderStyle BackColor="#93451F" />
</asp:GridView>
</form>
</body>
</html>
あなたのクラス(と名前空間)を他の名前、クラス名 'SqlDataReader'に名前を付けてみてください。公式のものと同じです。C#はあなたが使用しているものを知らない – Prisoner
または、 rdr = cmd.ExecuteReader(); 'またはそれ以上:' System.Data.SqlClient.SqlDataReader rdr = cmd.ExecuteReader(); '。もちろん、@Prisonerが提案する名前空間の名前を変更するのがベストプラクティスです。 –
君たちありがとう !!! – Oleg