2016-12-06 8 views
0

私は単純なプロセスを実行しようとしていますが、正しく機能していないようです。私はこれで新しく、主にSOの投稿を除いて援助なしで学習していることを考慮してください。クエリの結果からDataTableに行を追加する

SQL Serverテーブルを照会し、取得したレコードをDataTableに追加します。

ASPX:

<form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="txtScan" runat="server"></asp:TextBox><br /> 

     <asp:Button ID="btnSearch" runat="server" Text="SEARCH" OnClick="btnSearch_Click" /> 
    </div> 

CS:

using System; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void btnSearch_Click(object sender, EventArgs e) 
    { 
     AddItem(); 
    } 

    protected void AddItem() 
    { 
     using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["2008DB"].ConnectionString)) 
     { 
      SqlCommand cmd = new SqlCommand(); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 

      cmd.Connection = conn; 
      cmd.CommandText = "select * from items where ID = @lookup"; 
      cmd.Parameters.Add("@lookup", SqlDbType.NVarChar).Value = btnSearch.Text; 
      da.Fill(dtScans); //I shouldn't be filling this I don't think? 

     } 
    } 
} 

は私がするとして自分自身を混同している以下:

1)DataTable dtScans = new DataTable();

を置くためにここに私はこれまで持っているものです

2)データベースからレコードを正しく読み取ってから0に追加する方法。私は前に​​メソッドを使用しています。これはここに適切ですか?

3)これはアウトfigueredされたら、私はあなたたちから多くのことを学びましたが、私は一緒にそれのすべてをステッチこの1上の問題を抱えていますGridView

ためDataTableDataSourceを行います。ご協力いただきありがとうございます。

答えて

1

まずは、ADO.NETフレームワークについて熟知しておいてください。 MSDNには良い文書があります。これは非常に基本的なADOタスクですが、これは唯一の方法ではありません。ここでは、データテーブルについての情報を得ることができます。http://msdn.microsoft.com/en-us/library/t31h6yhs%28v=vs.110%29.aspx

これは、あなたが近いと言いました。あなたは新しいDataTableインスタンスを作成し、それからあなたが言ったようにそれを記入する必要があります。あなたがただ一度それを使うつもりならば、それはあなたのAddItem()メソッドの中で正しく行くことができます。一度それがあなたのGridViewにバインドすることができます満たされている。

protected void AddItem() 
{ 
    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["2008DB"].ConnectionString)) 
    { 
     SqlCommand cmd = new SqlCommand(); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 

     cmd.Connection = conn; 
     cmd.CommandText = "select * from items where ID = @lookup"; 
     cmd.Parameters.Add("@lookup", SqlDbType.NVarChar).Value = txtScan.Text; //You'll also want to fix this line to use the TextBox instead of the Button 

     DataTable dtScans = new DataTable(); //Create the new DataTable so you have something to fill 
     da.Fill(dtScans); 
     GridView1.DataSource = dtScans; //Set the DataTable to be the sourse for a GridView 
    } 
} 
+0

ありがとう私はこれまでのところ、新しいアイテムの入力を続けてdtScansに追加したいのですが?これは私が本当に立ち往生している場所です。私はDataTableを使ってアイテムを追加し直しています。あなたの援助に感謝します@squillman – Mobilemike

関連する問題