2016-08-16 12 views
-1

テキストボックスのテキストをSQLデータベースに保存する方法は非常に多くありました。テキストボックスのテキストをSQLデータベースに保存したいだけです。私は Microsoft Visual Studio 2010とC#プログラミング言語を使用しています。私は自分のコードを修正しましたテキストボックスからSQLデータベースにデータを保存するasp.net C#

protected void BtnSave_Click(object sender, EventArgs e) 
    { 
     string Name = TxtFirstName.Text; 
     string Address = TxtDOB.Text; 
     string DOB = TxtDOB.Text; 
     string Occupation = TxtOccupation.Text; 
     string Home = TxtHome.Text; 
     string Work = TxtWork.Text; 
     string Mobile = TxtMobile.Text; 
     string Email = TxtEmail.Text; 
     string SportActivities = TxtSportActivities.Text; 

     using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ClientsConnectionString"].ConnectionString)) ; 
     { 
      using (SqlCommand cmd = new SqlCommand("INSERT INTO [ClientDetails] ([Name], [Address], [DOB], [Occupation], [Home], [Work], [Mobile], [Email], [SportActivities]) VALUES (@Name, @Address, @DOB, @Occupation, @Home, @Work, @Mobile, @Email, @SportActivities)")) ; 
      { 
       cmd.connection = con; 
       con.Open(); 
       cmd.Parameters.AddWithValue("@Name", TxtFirstName.Text); 
       cmd.Parameters.AddWithValue("@Address", TxtAddress.Text); 
       cmd.Parameters.AddWithValue("@DOB", TxtDOB.Text); 
       cmd.Parameters.AddWithValue("@Occupation", TxtOccupation.Text); 
       cmd.Parameters.AddWithValue("@Home", TxtHome.Text); 
       cmd.Parameters.AddWithValue("@Work", TxtWork.Text); 
       cmd.Parameters.AddWithValue("@Mobile", TxtMobile.Text); 
       cmd.Parameters.AddWithValue("@Email", TxtEmail.Text); 
       cmd.Parameters.AddWithValue("@SportActivities", TxtSportActivities.Text); 
       cmd.ExecuteNonQuery(); 
       con.close(); 
      } 
     } 
    } 

protected void Button1_Click(object sender, EventArgs e) 
 
     { 
 
      string Name = TxtFirstName.Text; 
 
      string Address = TxtDOB.Text; 
 
      string DOB = TxtDOB.Text; 
 
      string Occupation = TxtOccupation.Text; 
 
      string Home = TxtHome.Text; 
 
      string Work = TxtWork.Text; 
 
      string Mobile = TxtMobile.Text; 
 
      string Email = TxtEmail.Text; 
 
      string SportActivities = TxtSportActivities.Text; 
 

 
      SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ClientDetailsConnectionString"].ConnectionString); 
 

 
      SqlCommand cmd = new SqlCommand("INSERT INTO [ClientDetails] ([ID], [Name], [Address], [DOB], [Occupation], [Home], [Work], [Mobile], [Email], [SportActivities]) VALUES (@ID, @Name, @Address, @DOB, @Occupation, @Home, @Work, @Mobile, @Email, @SportActivities)"); 
 

 
      cmd.Connection = con; 
 
      con.Open(); 
 
      cmd.Parameters.AddWithValue("@ID", TxtID.Text); 
 
      cmd.Parameters.AddWithValue("@Name", TxtFirstName.Text); 
 
      cmd.Parameters.AddWithValue("@Address", TxtAddress.Text); 
 
      cmd.Parameters.AddWithValue("@DOB", TxtDOB.Text); 
 
      cmd.Parameters.AddWithValue("@Occupation", TxtOccupation.Text); 
 
      cmd.Parameters.AddWithValue("@Home", TxtHome.Text); 
 
      cmd.Parameters.AddWithValue("@Work", TxtWork.Text); 
 
      cmd.Parameters.AddWithValue("@Mobile", TxtMobile.Text); 
 
      cmd.Parameters.AddWithValue("@Email", TxtEmail.Text); 
 
      cmd.Parameters.AddWithValue("@SportActivities", TxtSportActivities.Text); 
 
      cmd.ExecuteNonQuery(); 
 
      con.Close(); 
 
     }

: はここに私の現在のコードです。私がしたのは、 'CodeBehind'を 'CodeFile'に変更してaspx.csファイルに入れ、いくつかの小さなエラーを修正しただけです。ここに私の作業コードはあります: 私がしたのは、コードが "cmd"を認識しなかったので、角カッコを取り除いて、データベースのプライマリキーだったので、IDフィールドを追加しました。すべて素晴らしいです。ご協力いただきありがとうございます。

+0

すべてのパラメータが必要です。エラーメッセージを投稿してください。 – Mangrio

+0

エラーメッセージはありません。 –

+0

天気のクリックイベントが呼び出されているかどうかを確認するブレークポイントを追加しますか? – Mangrio

答えて

1

あなたは、これらの値のそれぞれに対してパラメータを追加する必要があります

@Name, @Address, @DOB, @Occupation, @Home, @Work, @Mobile, @Email, @SportActivities 

あなたは名前だけのためにcmd.Parameters.AddWithValue("@Name", SqlDbType.Text);を使用。

EDIT:

がSQLにデータを提供するために、2通りの方法があります。 1)名前でパラメータを追加し、後でそれは価値があります:

command.Parameters.Add("@name", SqlDbType.Int); 
     command.Parameters["@name"].Value = nametextbox.text; 

2) は、値でパラメータを追加する

command.Parameters.AddWithValue("@name", nametextbox.text); 

いずれか1つを使用してください。ミックスではありません。

EDITに関するエラー:括弧の前で

If you use OnClick attribute in the page's HTML view, the name is expected to be on the page script and not in the code-behind. If you want to use a handler in the code-behind, remove OnClick attribute, go to design view and double-click the button. The code-behind will open on the right function. Or you can select event handler in the button properties panel on Events tab. Or you can do it without design view whatsoever. Just go to the code-behind and add a line for registering the event-handling method for the Click event of the button: btnSignIn.Click += new EventHandler(this.btnSignIn_Click);

When you do it in the design view, this line is added to the automatically generated InitializeComponent() method.

+0

名前は正しいですか? –

+0

どうすればわかるのですか?それは大丈夫です。他のすべてを追加してチェックします。 =) – Whencesoever

+0

は私のコードを変更し、他のパラメータを追加しました。まだ動かない。エラーメッセージはありません –

0

をクリックし、赤い点は、私はあなたがボタンを押すとの間のリンクを失っていると思いますあなたのプロセスを開始、再び enter image description here

+0

私はそれをしてプログラムを実行しても何も起こりません –

+0

あなたのイベントが呼び出されていません。デザインビューのボタンをダブルクリックし、どこに行くのかを確認してください – Mangrio

+0

あなたは正しいです。それはどこかに行っていた。今私はコードを移動し、私はエラーを表示している。 –

0

が来てます行事。これは、[プロパティ]ウィンドウで確認できます。

  1. 表示ASPを含むページ:ボタン
  2. ASPを選択します。ボタンを
  3. ASPのためのイベントプロパティで
  4. ルック:ボタン

私の推測では、あなたがリンクを失っているということです。 したがって、イベント応答コードをコメント化し、イベントを再作成してください。 イベントの作成に使用したのと同じプロセスを使用します。 次に、コメントアウトされたイベントメソッドから必要なコメントアウトされたコードをカットアンドペーストします。貼り付けられたコードからコメントインジケータを削除します。 イベントが機能するはずです。

関連する問題