前提・実現したいこと
VSのWindowsフォーム、C#にて簡単なデータベースシステムを作っています。
tblTank(Name, Nationality, Status....)というテーブルから、Nameで検索して該当するものだけ表示するクエリをTextboxを使って実装しようとしています。
クエリ自体は動いているようなのですが、結果がどんな値を入れてもNULLで返ってきてしまいます。
C言語のみ経験があり、学校の課題ということでC#でやっています。SQLやVSもあまり慣れておらず、どうすればいいのか全く見当がつきません。
該当のソースコード
SQL
1//Nameは文字列で、txtNameはTextboxに当たります。 2SELECT * 3FROM Tank 4WHERE Name LIKE "txtName.Text"
ただし、以下のように具体的な文字や数字を指定するとしっかりと結果を返してくれます。
SQL
1SELECT * 2FROM Tank 3WHERE Name LIKE "T34"
試したこと
txtName.Textの前後にワイルドカードを挿入したり、一度string型に格納してから同様の処理を行うなどはしてみましたが、結果は変わらずです。
補足情報(FW/ツールのバージョンなど)
VS 2017
DBはAccessで、VS内のデータソースから読み込んでいます。
検索をするフォーム部分のコードです
C#
1 2using System; 3using System.Collections.Generic; 4using System.ComponentModel; 5using System.Data; 6using System.Drawing; 7using System.Linq; 8using System.Text; 9using System.Threading.Tasks; 10using System.Windows.Forms; 11 12namespace PanzerEliteDB 13{ 14 public partial class frmNameSearch : Form 15 { 16 public frmNameSearch() 17 { 18 InitializeComponent(); 19 } 20 21 private void tankBindingNavigatorSaveItem_Click(object sender, EventArgs e) 22 { 23 this.Validate(); 24 this.tankBindingSource.EndEdit(); 25 this.tableAdapterManager.UpdateAll(this.woTDBDataSet); 26 27 } 28 29 private void frmNameSearch_Load(object sender, EventArgs e) 30 { 31 // TODO: This line of code loads data into the 'woTDBDataSet.Tank' table. You can move, or remove it, as needed. 32 this.tankTableAdapter.Fill(this.woTDBDataSet.Tank); 33 34 } 35 36 private void button1_Click(object sender, EventArgs e) 37 { 38 39 this.tankTableAdapter.FillBy3(this.woTDBDataSet.Tank); 40 } 41 42 private void nameToolStripButton_Click(object sender, EventArgs e) 43 { 44 try 45 { 46 this.tankTableAdapter.FillBy3(this.woTDBDataSet.Tank); 47 } 48 catch (System.Exception ex) 49 { 50 System.Windows.Forms.MessageBox.Show(ex.Message); 51 } 52 53 } 54 55 private void nameToolStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) 56 { 57 58 } 59 60 private void tankBindingNavigator_RefreshItems(object sender, EventArgs e) 61 { 62 63 } 64 } 65}
お二方ご回答ありがとうございました。 YAmaGNZさんに教えていただいた方法で何とかクエリを完成させることができました。 パラメータ化クエリは少し勉強が必要だと今回は判断し、今後自分用のDBに勉強しながら取り組んでみます。
回答2件
あなたの回答
tips
プレビュー