2016-11-11 14 views
0

私はオンライン予約を作成しています。クライアントのページから、彼のトランザクションをgridviewで表示したいのですが、プログラムがエラーを返し、 "追加情報:プロシージャまたは関数 'JoinRoomSubPayment'パラメータ '@USERNAME'は提供されませんでした。ここデータベースからgridviewにテーブルを表示

は私のコードです:

SQL:

SELECT USERNAME, FIRST_NAME, LAST_NAME, BIRTHDAY, CONTACT_NUMBER, EMAIL_ADDRESS, HOME_ADDRESS FROM TBL_Client 
WHERE USERNAME = @USERNAME 

ClassDisplaySummary.cs:

public DataSet _JoinRoomSubPayment(string user){ 
conn.Open(); 
SqlCommand cmd = new SqlCommand("JoinRoomSubPayment", conn); 
cmd.Parameters.Add("@USERNAME", SqlDbType.VarChar).Value = user; 
cmd.ExecuteNonQuery(); 
cmd.CommandType = CommandType.StoredProcedure; 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
ds.Clear(); 
da.Fill(ds, "_JoinRoomSubPayment"); 
conn.Close(); 
return ds;} 

ClientPage.aspx.cs:

user = Session["username"].ToString(); 
SummaryGView.DataSource = cd._JoinRoomSubPayment(user).Tables["_JoinRoomSubPayment"]; 
SummaryGView.DataBind(); 

任意のヘルプは次のようになり高く評価された

+0

あなたのクエリステートメントは正しいようですが、SPの使用法が適合しない可能性があります。 'CommandType.StoredProcedure'の後に' cmd.ExecuteNonQuery() 'を置くことを検討してください。そしてなぜ '_JoinRoomSubPayment'を' da.Fill(ds、 "_JoinRoomSubPayment") 'のソーステーブルとして使用するのですか? –

+0

私はエラーを見ることができません、私に説明してくださいエラーは何ですか?私のSPは適合しません、なぜですか?ありがとう – Newbie10

+0

VSプロジェクトでデバッグモードを使用し、コードのどの行がエラーをスローするかを説明します。 'ExecuteNonQuery()'メソッドは 'SqlCommand'に' CommandType'を定義する前に呼び出されているため意味がありませんので、あなたのSP割り当てが合わないことがわかります。ストアドプロシージャを作成するために 'CREATE PROCEDURE JoinRoomSubPayment'を使用しましたか? –

答えて

0

このエラーはcmd.ExecuteNonQuery()によって発生する可能性があります。あなたのコードからこの行を削除してから試してみてください

public DataSet _JoinRoomSubPayment(string user){ 
conn.Open(); 
SqlCommand cmd = new SqlCommand("JoinRoomSubPayment", conn); 
cmd.Parameters.Add("@USERNAME", SqlDbType.VarChar).Value = user; 
// cmd.ExecuteNonQuery(); remove this line from your code 
cmd.CommandType = CommandType.StoredProcedure; 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
ds.Clear(); 
da.Fill(ds, "_JoinRoomSubPayment"); 
conn.Close(); 
return ds;} 
関連する問題