こんにちは、ありがとうございました。データをソートするSQLコマンドを開く
SQLデータベースからの読み取りに問題があります。
私は
SqlCommand com = new SqlCommand("Select * From Stock where Fuad > 0 ", con);
列名を指定した場合、コマンドが100%に動作しますが、問題は私のプログラムは、ユーザー間の在庫移動を追跡していることである、と私は
String currentuser = //(current user logged in, passed when logged in)
SqlCommand com = new SqlCommand("Select * From Stock where '" + currentuser + "' > 0 ", con);
のようなコマンドを使用する必要があります
このコードを実行すると、エラーが発生します: "varchar値 'Fuad'をデータ型intに変換するときに変換に失敗しました。今私はSQLの私の列がIntに設定されていることを知っている。それが列名にどのような影響を及ぼしますか?
私はすべてのユーザーにこの記事を書いてもらえますが、長期的には新しいスタッフの皆さんは無意味です。私は更新を書かなければなりません。これを手助けするために一般的な呼び出し元、すなわちcurrentuserを使用する方法があります。
SQLデータベースはintカラムで設定され、各カラムには技術者/スタッフ名があり、現在予約している各パーツの数を追跡します。
私が使用する文字列がvarcharになるため、列名をIntとして呼び出す方法はわかりません。
これをロードするための完全なコードは
SqlConnection con = new SqlConnection(Connectstring)
con.Open();
SqlCommand com = new SqlCommand("Select * From Stock where '" + currentuser + "' > 0 ", con);
try
{
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr["ItemName"].ToString());
item.SubItems.Add(dr["ItemCode"].ToString());
item.SubItems.Add(dr[currentuser].ToString());
listView1.Items.Add(item);
}
dr.Close();
であると言ったように私は、列名を持つ「CurrentUserに」を交換する場合は、以前、これは100%に動作します。それを文字列で呼び出すことは可能ですか?そうでない場合は、これを行う別の方法を見つける必要があります。
'sqlのカラムがIntに設定されていることがわかりました。カラム定義とsqlのサンプルデータをいくつか貼り付けることができますか? –
currentuserは何を返しますか? – Usman