• 締切済み

SQLとC#connectについて

独学で勉強しているのですがさっぱり分かりません...。 C# visual studio へ SQL server情報を読み込みたいのですが...Button1を押したら、sql に作成してある(ingredientという) データをrichtextbox へ送りたいです。 今のところ、SQLにcommandを送り、開き、リーダーで呼びました。 SqlConnection sc = new SqlConnection(@"........."); SqlCommand cmd; cmd = new SqlCommand ("Select * from ingredients", sc); sc.Open(); SqlDataReader reader = cmd.ExecuteReader(); その後作っておいたクラスでリストを作りストアしました。ingredientにはidとnameだけです。 List<Ingredient> ingredients = new List<Ingredient>(); while (reader.Read()) {  string testID = reader["id"].ToString(); string ingName = reader["name"].ToString(); Ingredient oneIng = new Ingredient(Convert.ToInt32(testID), ingName); ingredients.Add(oneIng);} 今リストの中に情報が入っているということは分ります。でも、これをrichtextboxにどう整理して入れるのかは分りません。教えて下さい!!!

みんなの回答

回答No.1

# SQL ServerではなくC#の質問であるように思えますが……。 データを「どのように表示したい」のですか。 データの表示方法は一通りではないので,そのデータをどのように表示するかは作るときに決めなければならないことになります。 > string testID = reader["id"].ToString(); > Convert.ToInt32(testID) int testID = reader.GetInt32(reader.GetOrdinal("id")); とすれば,Convertする必要はないかと。

Chibibebe
質問者

お礼

最初に stringで作成したので...後からconvertして余計めんどくさい感じに...最初からintで作成しといた方がよかったですね^-^夫にも言われました。結局、data grid viewer? みたいなので出来ました!ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C#でのSQLへのアクセスについて

    SQL Serverのテーブルをコンソール上に表示する為のコードを書いたのですが SqlConnection SqlCommand SqlDataReader に対してエラーが出しまい、修正方法が分からず、どなたか教えて頂けないでしょうか? 【ソースコード】 using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using Microsoft.Data.SqlClient; static void Main(string[] args) { string connectionString = "Data Source=○○;Initial Catalog=○○;User ID=○○;Password=○○;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand("SELECT * FROM [○○]", connection)) using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine(reader["column1"]); Console.WriteLine(reader["column2"]); } } } }

  • ASP.NET C# SQLパラメータ

    いつもお世話になっております。 グリッドビューから編集、更新キャンセルの機能を使っているところなのですが、更新ボタンのイベント(RowUpdating)からだとUpdateCommandに直接SQL文を入れないとうまく行きません。 UpdateCommand = "update .....";のようにです。 SqlConnection cn = new SqlConnection(接続文字列); SqlCommand cmd = new SqlCommand(SQL文, cn); SqlParameter sp1 = cmd.Parameters.Add("@パラメータ", SqlDbType.Int); SqlParameter sp2 = cmd.Parameters.Add("@パラメータ2", SqlDbType.VarChar); sp1.Value = 変数 sp2.Value = 変数 cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); のようにパラメータを使いたいのですが、UpdateCommandに対するパラメータの設定のやり方がわかりません、教えてください!!

  • Visual Studio 2005 Sql Server 2005 C#

    先輩方 こんばんは カネゴンです。 下記内容で困っています。 SqlConnection がオープンできません。 「SQL Server の既定の設定がリモート接続を許可しないようになっていることがエラーの原因 sql server」のエラーと 「**」はログインできませんでしたの表示がされ、かれこれ3日悩んでおります。 宜しくお願いします。 SqlConnection cn = new SqlConnection(@" Server = local ; Trusted_Connection = Yes ; Database = user_master ; uid = *** ; pwd = *** ; "); SqlCommand cmd = new SqlCommand("login_check", cn); cmd.CommandType = CommandType.StoredProcedure; SqlParameter p1 = new SqlParameter("@p1",             System.Data.SqlDbType.VarChar, 16); p1.Value = TextBox1.Text; SqlParameter p2 = new SqlParameter("@p2",             System.Data.SqlDbType.VarChar, 16); p2.Value = TextBox2.Text; cn.Open();

  • C# sqlserver 2005 vs2005 DB追加時重複ID禁止(2)

    こんにちは。標記の件で再度調べています。 ユーザ管理画面編集時に重複したID列を追加禁止としたいのですが、 datasetを使って、回すと件数が多くなったときに時間がかかって しまうので、SQLCOMMANDを使用使用と思っております。 SQLCOMMANDにはどのような指定を行ったらよいですか。 そこで、処理できますでしょうか? お願いします。 string userid = textBox1.Text;、 string StrConn = @" "; SqlConnection cnc = new SqlConnection(StrConn); cnc.Open(); SqlCommand cmd = new SqlCommand("●", cnc); cmd.ExecuteNonQuery(); cnc.Close();

  • C#のSQL言語について教えてください。

    windowsフォーム上にデータベースのテーブルを載せて、 書き込むボタンを作り、その書き込み内容を書き込み直後にフォーム上のデータベースのテーブルに反映させたいと思っているのですが反映されません。コードが間違っていますでしょうか? これがソースです。 SqlConnection cn; SqlCommand cmd; cn = new SqlConnection(@"Data Source=.\SQLEXPRESS; AttachDbFilename=E:\開発用\入退室記録システム(接続から読取)\SampleApplicationByCS\Database1.mdf; Integrated Security=True; Connect Timeout=30; User Instance=True"); cmd = new SqlCommand("Select * From Product", cn); cn.Open(); //Table1の学籍番号00000001の行の授業開始の列に1と入力する。 cmd = new SqlCommand("UPDATE Table1 " + "SET 授業開始='1' WHERE 学籍番号=" + response.Comm[ix].TagData, cn); cmd.ExecuteNonQuery(); SqlTransaction st; st = cn.BeginTransaction("Table1"); cmd.Transaction = st; st.Commit(); cn.Close(); コミットはこれでいいのでしょうか? this.table1TableAdapter.Fill(this.database1DataSet.Table1); これを入れてもテーブルが更新されませんでした。

  • SQL serverデータ取得

    public static DataSet GetCustomers() { string sql = @"SELECT * FROM M_CHARGE"; SqlConnection conn = new SqlConnection(DBConfiguration.DbConnectionString); SqlDataAdapter da = new SqlDataAdapter(sql, DBConfiguration.DbConnectionString); da.SelectCommand = new SqlCommand(sql, conn); DataSet ds = new DataSet(); ds.Tables.Add("M_CHARGE"); da.Fill(ds, "M_CHARGE"); return ds; } da.Fill(ds, "M_CHARGE");の部分でインスタンスエラーになります。どうしてでしょうか? 誰か教えて下さいお願いします(TдT)

  • データベースから情報の取得・更新・削除 SQL2005 C# 2

    おはようございます。カネゴです。 表記の件で再度質問させていただきいます。 まずは情報取得。 これは、検索・抽出といったほうがいいのでしょうか。ID PASSを テキストボックスに入力し検索ボタンを押下すると、データベースから 検索結果に、マッチしたレコードがデータグリッドに表示されると いうものです。 sqlconnection sqlcomand. などを使用し sqldataadaptedのfill メソッドで表示させればいいのでしょが、なかなかうまくいきません… 更新削除も同様に、ado.netで行いたいのですが、なかなかうまくいきません。 「検索」btn押下後のイベントです。 SqlConnection cn = new SqlConnection(@" server = ***\SQL2005 ; " + " database = user_master ; " + " uid = sa ; " + " pwd = *** ; "); cn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM user_master where UserID=textBox1.Text and Password=textBox2.Tet ", cn); SqlDataAdapter da = new SqlDataAdapter (); da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, "user_master"); cn.Close(); たぶん、select文のなかが違うと思います。 マルチパート識別子 "textBox1.Text" をバインドできませんでした。 マルチパート識別子 "textBox2.Text" をバインドできませんでした。 とエラーがでます。 素人なので、つぎはぎして作ったので、文法的なものがめちゃくちゃかもしれませんが 以上宜しくお願いします。

  • C# で MSSQL から XML 出力で、文字列が途切れる

    下記のようにして、DBからXML形式で値を書き出すと、約2300バイト程度で、切れてしまいます。どのようにすれば、回避出来るでしょうか? SqlConnection con = new SqlConnection(); con.ConnectionString = @"Data Source=.\XXX;Integrated Security=True;Database=XXX"; SqlCommand cmd1 = new SqlCommand(); cmd1.Connection = con; cmd1.CommandText = "SELECT * FROM table WHERE cid BETWEEN 200 AND 220 FOR XML RAW"; cmd1.CommandType = CommandType.Text; con.Open(); SqlDataReader rdr1 = cmd1.ExecuteReader(); if (rdr1.Read()) { Response.Write(rdr1.GetString(0)); // rdr1[0] でも、同じ。 }

  • ASP C#

    単純にデータベースから取得した物をフォームのTEXT_BOXに表示させたいのですがやり方がわかりません。 グリッドビューに結果をそのままバインドするのはわかるのですが。。。 select 品名 from 商品テーブル where ID = 3 など、結果が必ず1件のものです SqlConnection cn = new SqlConnection(@"Server=*****;Database=*****;User ID=***; Password=***;"); SqlCommand cmd = new SqlCommand("select title from mst_table where id = 1", cn); cn.Open(); このあと text_box.text = 結果; としたいんです。。。

  • VB2005で、Delete文(SQL Server2005 Express)

    VB2005で、Delete文を使ったプログラムを書きたいのですが。 SQL Server2005 ExpressEditonを使っています。 テーブル(WK_BoxList)から 列名(ComputerName)=XXXに該当するレコードを削除する。 そこで下記のコードを書いたのですが、 1,2のSQL文だと問題ようなのですが。 3の時に、列名'SYSTEM'が無効です。とメッセージがでてしまいます。 テーブル(WK_BoxList)には列名'SYSTEM'というのはありません。 3のようにSQL文は、文字連結させて使えたはずだと思ったのですが。 ちなみにプログラム初心者です。アドバイスをいただきたいのですが、 よろしくお願い致します。<(_ _)> Dim scn As SqlClient.SqlConnection = New SqlClient.SqlConnection(接続文字列) Dim scm As SqlClient.SqlCommand Dim sql As String Dim PcName As String = My.Computer.Name Try scn.Open() ' OK 'sql = "delete from WK_BoxList ' OK '------------1 ' OK 'sql = "delete from WK_BoxList Where ComputerName=1 '-------------- 2 ' NG sql = "delete from WK_BoxList Where ComputerName=" & PcName '----------3 scm = New SqlClient.SqlCommand(sql, scn) scm.ExecuteNonQuery() Catch ex As Exception MessageBox.Show(ex.Message) End Try scn.Close() 環境 WindowsXP Pro SP2 VS2005Pro Sp1 SQL Server2005 ExpressEditon