箱。さがすには、私がこれまでのところ、私はビューを持っているADO.NET</p> <p>を通じて検索ボックス機能を引き出すためにしようとしているテーブルado.net
public ActionResult NoEF(string searchKey)
{
Pokemon poke = new Pokemon();
poke.Search(searchKey);
//poke.Search(poke.Poke_Name, poke.Poke_Color);
return View(poke);
}
Pokemon.csファイルにリダイレクトすることになっている: は、それから私は、コントローラを持っています。それはそうのように、検索ボックスに入力します、データベースに接続し、クエリを実行し、それに基づいて情報を表示するようになっていたクラスがあります。
public List<Pokemon> Search(string searchKey)
{
List<Pokemon> pokemons = new List<Pokemon>();
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0; AttachDbFilename = 'C:\Users\Pokedatabase.mdf'; Integrated Security = True");
//Default order by name
string query = "SELECT Pokemon.*, Poketype.* FROM Pokemon INNER JOIN" +
" Poketype ON Pokemon.P_Type = Poketype.Type_Id" +
" Where Pokemon.Poke_Name = '"+ searchKey + "' || Poke_Color = '"+ searchKey + "' order by Poke_Name";
//Opens up a connection to the database
con.Open();
私の問題は、接続を開いた後、私はということです何をそこに置くべきかについてはあまり確かではありません。私はどこにでもgoogledした。これまで明らかに機能しないYOLOコードを使用しています。
using (SqlCommand cmd = new SqlCommand(query, con))
{
//Creates a data reader object and supplies it with data
SqlDataReader dr = cmd.ExecuteReader();
try
{
con.Open();
while (dr.Read())
{
dr = dr(dr.GetValue(0) + " - " + dr.GetValue(1) + " - " + dr.GetValue(2));
}
dr.Close();
cmd.Dispose();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}
}
return pokemons;
}
改良点はありますか?私は完全に失われています。
何:これはとポケモンの種類のリストを記入した後、
今あなたの 'ポケモン'クラスはどのように見えるのですか?データベースから設定しようとしているプロパティは何ですか? – Tim
'パブリック部分クラスポケモン { public int Poke_Id {get;セット; } 公開ストリングPoke_Name {get;セット; } 公開ストリングPoke_Color {get;セット; } public int Poke_Hp {get;セット; } public int P_Type {get;セット; } public仮想Poketype Poketype {get;セット; } ' – Rinn
ADO.NETでは、あなた自身の' SqlDataReader'からすべてのプロパティを設定する必要があります。 'Poke_Name = dr [" Poke_Name "];'などとなります。 – Tim