Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将数据库查询数据添加到文本框中?_C#_Database_Oledb - Fatal编程技术网

C# 如何将数据库查询数据添加到文本框中?

C# 如何将数据库查询数据添加到文本框中?,c#,database,oledb,C#,Database,Oledb,对于SELECT语句,不需要使用ExecuteNonQuery。此方法只执行查询,不返回任何数据或其他内容 看起来您的查询返回一行一列,您可以改用方法 但更重要的是,您应该始终使用。这种类型的字符串连接对攻击是开放的 还可以使用自动处理连接和命令,而不是手动调用Close方法 顺便说一下,您可以将所有OleDbCommand对象合并为一个对象,因为您可以为不同的列查询同一个表 private void button1_Click(object sender, EventArgs e)

对于
SELECT
语句,不需要使用
ExecuteNonQuery
。此方法只执行查询,不返回任何数据或其他内容

看起来您的查询返回一行一列,您可以改用方法

但更重要的是,您应该始终使用。这种类型的字符串连接对攻击是开放的

还可以使用自动处理连接和命令,而不是手动调用
Close
方法

顺便说一下,您可以将所有
OleDbCommand
对象合并为一个对象,因为您可以为不同的列查询同一个表

    private void button1_Click(object sender, EventArgs e)
    {
        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
        // modify the connection string and include any additional required properties for your database
        conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
            @"Data Source=C:\Users\Dastgeer\Documents\Visual Studio 2013\Projects\UrduStemmerProject\UrduStemmerProject\Resources\ProjectDatbase.mdb";
        try
        {
            conn.Open();

            System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(@"SELECT PreFix FROM UrduStemmerTbl WHERE (word = '"+InputWord+"')");
            cmd.Connection = conn;
            cmd.ExecuteNonQuery();

            System.Data.OleDb.OleDbCommand cmd2 = new System.Data.OleDb.OleDbCommand(@"SELECT Stem FROM UrduStemmerTbl WHERE (word = '" + InputWord + "')");
            cmd2.Connection = conn;
            cmd.ExecuteNonQuery();

            System.Data.OleDb.OleDbCommand cmd3 = new System.Data.OleDb.OleDbCommand(@"SELECT PostFix FROM UrduStemmerTbl WHERE (word = '" + InputWord + "')");
            cmd3.Connection = conn;
            cmd.ExecuteNonQuery();

            //Text boxes names are

            //prefixOutput.Text =;
            //stemOutput.Text = ;               
            //postfixOutput.Text = ;

            MessageBox.Show("Data Stemmed!");

        }
        catch (Exception ex)
        {
            MessageBox.Show("Failed to connect to data source");
        }
        finally
        {
            conn.Close();
        }
    }
using(var conn = new OleDbConnection(connString))
using(var cmd = conn.CreateCommand())
{
      cmd.CommandText = @"SELECT PreFix, Stem, PostFix FROM UrduStemmerTbl WHERE word = ?";
      cmd.Parameters.Add("?", OleDbType.VarWChar).Value = InputWord;
      // I assume your column type
      conn.Open();
      using(var dr = cmd.ExecuteReader())
      {
           if(dr.Read())
           {
              prefixOutput.Text = dr.GetString(0);
              stemOutput.Text = dr.GetString(1);
              postfixOutput.Text = dr.GetString(2);
           }
      }
}