C# Asp.NetはDetailsView編集状態から入力ボックスの内容を取得し、sql文where条件として別のテーブル属性値を取得し、値をDetailsViewInsertingイベントに割り当てる
2823 ワード
今日は同級生がaspに聞いてくれた.Netの宿題の問題、彼は図書館管理のプロジェクトをして、それからこのような機能を実現したいと思っています.すなわち、図書リストのページがあります.リストの中の本名をクリックすると、借書記録のページにジャンプして、それから学号を入力するための入力ボックスがあります.学号を入力して挿入をクリックすると、自動的に書籍名、借書時間、学号、学生の名前が生成されます.学生の連絡先などを含む借書注文記録;
本の名前の生成はとても良くて、直接文字列のGetの方法を要求することを通じて(通って)手に入れて、本を借りる时间は更に简単で、直接システムの现在の时间を取得して、どのように名前と连络先を取得して彼を困らせて、别の1枚の表(学生の情报の表)の中から名前と连络先の値を手に入れます(しかも彼の入力した学号を通じて(通って)フィルタリングします);
実は私は前にすでに実現した論理について話したことがあります.論理は簡単で、彼が学号という情報を挿入する時、学号の値を手に入れて、それからデータベースに接続して、学生情報表の学号と比較して(where句)、表の中で手に入れた名前と連係方式の値を読み取って、読み取った値を挿入する属性に与えて、このように1枚の完全な情報を持つ借書記録を生成しました.
論理的には問題はありませんが、具体的に実現するには多くの煩雑な細部に関連しているので、しばらくは彼を困らせて、今日また私に聞いて、私もいくつかのブログを見て、すべてばらばらな技術の細部ですが、組み合わせても私にそれを実現することに成功させて、途中で何度も異常にぶつかって、しかしすべて小さい問題で、下に完全なバックグラウンドの実現コードを添付します.
C#が好きなネットユーザーの交流を歓迎します!
本の名前の生成はとても良くて、直接文字列のGetの方法を要求することを通じて(通って)手に入れて、本を借りる时间は更に简単で、直接システムの现在の时间を取得して、どのように名前と连络先を取得して彼を困らせて、别の1枚の表(学生の情报の表)の中から名前と连络先の値を手に入れます(しかも彼の入力した学号を通じて(通って)フィルタリングします);
実は私は前にすでに実現した論理について話したことがあります.論理は簡単で、彼が学号という情報を挿入する時、学号の値を手に入れて、それからデータベースに接続して、学生情報表の学号と比較して(where句)、表の中で手に入れた名前と連係方式の値を読み取って、読み取った値を挿入する属性に与えて、このように1枚の完全な情報を持つ借書記録を生成しました.
論理的には問題はありませんが、具体的に実現するには多くの煩雑な細部に関連しているので、しばらくは彼を困らせて、今日また私に聞いて、私もいくつかのブログを見て、すべてばらばらな技術の細部ですが、組み合わせても私にそれを実現することに成功させて、途中で何度も異常にぶつかって、しかしすべて小さい問題で、下に完全なバックグラウンドの実現コードを添付します.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected string shu( object sh) {
string shum = Request.QueryString.Get(" ");
return shum;
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ .mdf;Integrated Security=True;User Instance=True");
using(conn)
{
conn.Open();
//
SqlParameter[] mysqlpara1 = new SqlParameter[2];
mysqlpara1[0] = new SqlParameter("@uid", SqlDbType.NChar, 10);
mysqlpara1[0].Value = ((TextBox)this.DetailsView1.FindControl("TextBox2")).Text.Trim();
// DetailsView TextBox2
string uid = ((TextBox)this.DetailsView1.FindControl("TextBox2")).Text.Trim();
SqlCommand cmd = conn.CreateCommand();
// @uid
cmd.Parameters.AddWithValue("@uid",uid);
//
cmd.CommandText = "SELECT * FROM [Student] WHERE = @uid";
//
SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
string name = reader.GetString(reader.GetOrdinal(" "));
string tel = reader.GetString(reader.GetOrdinal(" "));
//
e.Values[" "] = name;
e.Values[" "] = tel;
}
}
e.Values[" "] = DateTime.Now;
e.Values[" "] = Request.QueryString.Get(" ");
}
}
C#が好きなネットユーザーの交流を歓迎します!