2016-08-26 30 views
1

ストアドプロシージャのselect文の結果をテキストボックスに表示する必要があり、その処理方法を理解できません。 select文はWHERE句を使用しません。ストアドプロシージャがselectストアドプロシージャの結果をテキストボックスに表示するにはどうすればよいですか?

CREATE PROCEDURE NewCustomer 
AS 
BEGIN 
SELECT MAX(ID) + 1 FROM Database 
END 

を行くこれは私がそれは私を与える

protected void btnNew_Click(object sender, EventArgs e) 
 
    { 
 
     Clear(); 
 
     int num; 
 

 
     try 
 
     { 
 
      using (SqlCommand command = new SqlCommand("NewCustomer")) 
 
      { 
 
       command.Connection = conn; 
 
       command.CommandType = CommandType.StoredProcedure; 
 
       command.Parameters.Add("@CustID", SqlDbType.Int).Value = Int32.TryParse(txtCID.Text, out num); // Use tryparse if needed 
 
       conn.Open(); 
 
       txtCID.Text = (string)command.ExecuteScalar(); 
 
      } 
 
     } 
 
     catch (Exception ex) 
 
     { 
 
      lblMessage.Text = ex.Message; 
 
     } 
 

 
     }

を試してきたものである「手順NewCIDが供給された何のパラメータと引数はありません。」エラー

+0

シナリオを表示するか、実際には手順として使用するサンプルプロシージャですか? –

+0

エラーはどの欄に表示されますか?私は問題を推測しているのは 'txtCID.Text'を' SqlDbType.Int'型のパラメータの 'Value'プロパティに代入していることです。 –

+0

@Prdp例として使用していましたが、私が実際に使っていることを示すために編集しました。 – Anon

答えて

1

指定した手順は実行していません。プロシージャはyadayada)と命名され、という最悪の名前が付けられており、コマンド・テキストとしてプロシージャNewCustomerが実行されています。どちらも同じでなければなりません。次に、クエリを実行するために間違ったステートメントを使用しています。

ExecuteNonQueryカタログ操作を実行する(例えば、 データベースの構造を照会または作成データベースは、 テーブルなどのオブジェクト)、またはUPDATEを実行することにより データセットを使用することなく、データベース内のデータを変更するために、 INSERT、またはDELETEステートメント。

ただし、選択クエリを実行するために使用しています。ここでは、テーブルから単一の値を選択するので、ExecuteScalarが最適なオプションになります。あなたのコードは次のようになります:手続き名がGetNewCustomerIDであると仮定します。

using (SqlCommand exeCommand = new SqlCommand("GetNewCustomerID")) 
{ 
    exeCommand.Connection = conn; 
    exeCommand.CommandType = CommandType.StoredProcedure; 
    exeCommand.Parameters.Add("@CustID",SqlDbType.Int).Value=Convert.ToInt32(txtCID.Text); // Use tryparse if needed 
    conn.Open(); 
    txtCID.Text = (string)exeCommand.ExecuteScalar(); 
} 
+0

私はちょうど例としてyadayadaを使用していました – Anon

+0

私はあなたのようなものに例を更新しましたが、今は違うエラーが発生します。 – Anon

+0

解決済みです。 – Anon

関連する問題