0

これが私の主な目標です。ユーザーがテキストボックスにコンピューター名を入力できるようにしたいのですが、データベースにコンピューター名とIPアドレスを含むテーブルがあります。だから私はデータベースを照会するときにこのようなことをしたい... "コンピュータ名からIPアドレスを選択してください。このように、ユーザーがコンピューター名を入力すると、データベースが検索され、IP アドレスを使用して PC にマップされます。

これまでのところ、db から textbox1 に結果を戻そうとしています。どんな助けでも大歓迎です。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace testwf
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            InitializeComponent();

                        SqlConnection cs = new SqlConnection(@"Server=10-nuerp-006acdst;Database=Rert;User Id=reports;Password=Password");
            SqlDataAdapter da = new SqlDataAdapter();
            cs.Open();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection cs = new SqlConnection(@"Server=10-nuerp-006acdst;Database=Rert;User Id=reports;Password=Password
            SqlDataAdapter da = new SqlDataAdapter();
            cs.Open();
            da.SelectCommand = new SqlCommand();
            SqlCommand command = new SqlCommand("select top 1 * from station", cs);
            SqlDataReader dr = command.ExecuteReader();
            //cs.Open();
            dr.Read();

            while (dr.Read())
            {
                cs.Open();
                command.ExecuteReader();
                textbox1.Text = dr.GetSqlValue(1).ToString();
                MessageBox.Show(dr.GetSqlValue(0).ToString());
                            }

            MessageBox.Show(dr.GetSqlValue(0).ToString());
            cs.Close();

        }
    }
}
4

2 に答える 2

1

ここに例があります。http://www.akadia.com/services/dotnet_data_reader.htmlを参照してください。

 private void btnFind_Click(object sender, System.EventArgs e)
    {
        SqlDataReader rdr = null;
        SqlConnection con = null;
        SqlCommand cmd = null;

        try
        {
            // Open connection to the database
            string ConnectionString = "server=xeon;uid=sa;"+
                "pwd=manager; database=northwind";
            con = new SqlConnection(ConnectionString);
            con.Open();

            // Set up a command with the given query and associate
            // this with the current connection.
            string CommandText = "SELECT FirstName, LastName" +
                                 "  FROM Employees" +
                                 " WHERE (LastName LIKE @Find)";
            cmd = new SqlCommand(CommandText);
            cmd.Connection = con;

            // Add LastName to the above defined paramter @Find
            cmd.Parameters.Add(
                new SqlParameter(
                "@Find", // The name of the parameter to map
                System.Data.SqlDbType.NVarChar, // SqlDbType values
                20, // The width of the parameter
                "LastName"));  // The name of the source column

            // Fill the parameter with the value retrieved
            // from the text field
            cmd.Parameters["@Find"].Value = txtFind.Text;

            // Execute the query
            rdr = cmd.ExecuteReader();

            // Fill the list box with the values retrieved
            lbFound.Items.Clear();
            while(rdr.Read())
            {
                lbFound.Items.Add(rdr["FirstName"].ToString() +
                " " + rdr["LastName"].ToString());
            }
        }
        catch(Exception ex)
        {
            // Print error message
            MessageBox.Show(ex.Message);
        }
        finally
        {
            // Close data reader object and database connection
            if (rdr != null)
                rdr.Close();

            if (con.State == ConnectionState.Open)
                con.Close();
        }
    }
}
于 2012-11-19T15:30:23.627 に答える
0

button1_clickこのコードは、イベントの内容を置き換えます。

using (SqlConnection cs = new SqlConnection(@"Server=10-nuerp-006acdst;Database=Rert;User Id=reports;Password=Password"))
{
    cs.Open();

    using (SqlCommand cmd = new SqlCommand("select top 1 * from station", cs))
    using (SqlDataReader dr = command.ExecuteReader())
    {
        while (dr.Read())
        {
            textbox1.Text = dr.GetSqlValue(1).ToString();
            MessageBox.Show(dr.GetSqlValue(0).ToString());
        }
    }
}

「uelreader」の回答については、次のように SQL パラメータを追加する方がはるかに簡単です。

cmd.Parameters.AddWithValue("@parameterName", someVariableOrConstant);

タイプは自動的に決定され、変換はフレームワークによって行われます。タイプと長さを明示的に設定する必要がある場合にのみ、urlreader のバージョンを使用してください。

于 2012-11-19T16:03:25.823 に答える