エンティティへのLINQの使用。 SQLConnectionsまたは他の方法ではありません。エンティティへのlinqは、データベーステーブルの行の値を取得し、label.Text C#.netとして表示します。
私は1つのDataTableの 'ID'と別のDataTableの対応する '名前'を同じデータベースに表示する必要があるウェブページを持っています。 IDと名前はlblOrderId.Text = OrderId.ToString();と表示されます。およびlblName.Text = Name.ToString();それぞれ、
文字列である必要はありません。データベースの値をラベルに入れたいだけです。
今のところ私はラベルテキストを取得していませんが、このコードの下にあるコードを使用すれば、注文と配送の日付がわかります。
OrderIdを含むDatatableには2つの列があります。 OrderIdは自動生成され、列0とProductIdにあります。名前を含む
のDataTableが6列、名前列に0が自動生成された顧客ID
を保持しているとして、1列目にいるを持っている私に必要なのは、ラベルとして表示される最後の追加名前とIDです。
私は過去5時間このサイトや他のサイトでこれを調べており、自分のニーズに合った解決策を見つけることができないようです。これは、すべてのSQL接続と、テキストボックスへのデータベース値の疎な散水です。
私が達成したことを以下のコードで確認してください。さらにコードや情報が必要な場合は、お気軽にお問い合わせください。
ご提供いただけるご提案や援助をありがとうございます。
ASPX.CS(バックエンド)の名前に関する以下の方法とまったく同じエラーに直面
protected void Page_Load(object sender, EventArgs e)
{
using (Entities myEntities = new Entities())
{
int OrderId = // Not sure what to put here, but if I don't have it I get the error *The name OrderId does not exist in the current context*
var orderId = (from ord in myEntities.Orders
where ord.OrderId.Equals(OrderId) // Error here
select ord).Last();
lblOrderID.ForeColor = Color.Red;
lblOrderID.Text = orderId.ToString();
。両方のメソッドは、同じUsing Entities {}の中括弧内に含まれています。
var name = (from ord in myEntities.Customer
where ord.Name.Equals(Name)
select ord).Last();
lblName.ForeColor = Color.Red;
lblName.Text = name.ToString();
、それでも
DateTime date = DateTime.Now;
DateTime DeliveryDate = date.AddDays(5);
lblDate.ForeColor = Color.Red;
lblDeliveryDate.ForeColor = Color.Red;
lblDate.Text = date.ToLongDateString();
lblDeliveryDate.Text = DeliveryDate.ToLongDateString();
全ブロックの下方に見られるように、私は注文日と配達日を追加するために、次のコードを持っている中括弧}をPage_Load {内部使用のエンティティ{}中括弧を閉じますPage_Load
protected void Page_Load(object sender, EventArgs e)
{
using (Entities myEntities = new Entities())
{
//int OrderId = Convert.ToInt32(); // Not sure what to put here, but if I don't have it I get the error *The name OrderId does not exist in the current context*
var orderId = (from ord in myEntities.Orders
where ord.OrderId.Equals(OrderId)// Error here
select ord).Last();
lblOrderID.ForeColor = Color.Red;
lblOrderID.Text = orderId.ToString();
var name = (from ord in myEntities.Customer
where ord.Name.Equals(Name)
select ord).Last();
lblName.ForeColor = Color.Red;
lblName.Text = name.ToString();
}
DateTime date = DateTime.Now;
DateTime DeliveryDate = date.AddDays(5);
lblDate.ForeColor = Color.Red;
lblDeliveryDate.ForeColor = Color.Red;
lblDate.Text = date.ToLongDateString();
lblDeliveryDate.Text = DeliveryDate.ToLongDateString();
}
ASPX(フロントエンド)
<p>
Hi
<asp:Label ID="lblName" runat="server" Text=""></asp:Label>
Thank you for shopping at Cineplex.<br />
<br />
Your Order ID number is:
<asp:Label ID="lblOrderID" runat="server" Text=""></asp:Label><br />
<br />
Your order was placed on:
<asp:Label ID="lblDate" runat="server" Text=""></asp:Label><br />
<br />
Delivery date:
<asp:Label ID="lblDeliveryDate" runat="server" Text=""></asp:Label>
</p>
の
バックエンドで以下のコードを使用して表示されるように、名前と注文IDをハードコードし、エンティティとクエリを削除すると、扱いが効きますが、それは受け入れられません。顧客は、購入が成功すると注文IDを表示する必要があります。
ここでの唯一の慰めは、クライアントが読むことができる4つのラベルすべてに値を取得することです。
protected void Page_Load(object sender, EventArgs e)
{
lblName.ForeColor = Color.Red;
lblName.Text = "User";
lblOrderID.ForeColor = Color.Red;
lblOrderID.Text = "1";
DateTime date = DateTime.Now;
DateTime DeliveryDate = date.AddDays(5);
lblDate.ForeColor = Color.Red;
lblDeliveryDate.ForeColor = Color.Red;
lblDate.Text = date.ToLongDateString();
lblDeliveryDate.Text = DeliveryDate.ToLongDateString();
}
ありがとうございます。より簡潔な質問を掲示することについてのあなたのコメントと同じように、本当に感謝しています。 int orderId = 4711; //ここでは助けてはいけません - どこから手に入れようとしていますか?私はデータベース内にある注文テーブルからそれを検索するつもりでした。 ordersテーブルには、自動生成されたOrderIdとCustomerIdと、注文が行われた日付が含まれています。 –