【问题标题】:C# return value of a 'SELECT' query'SELECT' 查询的 C# 返回值
【发布时间】:2016-03-15 10:14:15
【问题描述】:

我的连接字符串:

string connection = @"Provider=Microsoft.ACE.OLEDB.12.0;" +
    @"Data Source=\\reso-fs-2\allusers\Student_Home\20350657\Documents\clicker.accdb;" +
    @"Jet OLEDB:Database Password=" + "password" + ";";

OleDbConnection con = new OleDbConnection(connection);

所以我在 C# OleDb 中有这个查询:

string query = "SELECT stats_best FROM Users WHERE username="+GameForm.username;

我想从 'stats_best' 中获取值并将其保存到字符串中。 我已经建立了连接和所有这些。我只需要从查询中返回一个值。 我该怎么做?

【问题讨论】:

标签: c# oledb


【解决方案1】:

请阅读this的文章,但无论如何,你可以使用这个

public string Test(string userName, string connectionString, out string dbErrorMessage)
    {
        string result = null;
        dbErrorMessage = null;
        try
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                SqlCommand cmd = connection.CreateCommand();
                cmd.Parameters.Add(new SqlParameter("@UserName", userName));
                cmd.CommandText = "SELECT stats_best FROM Users WHERE username= @UserName";
                result = cmd.ExecuteScalar().ToString();
            }
        }
        catch (Exception ex)
        {
            dbErrorMessage = ex.Message;
        }
        return result;
    }

以及方法的使用:

string dbErrorMessage = null;
Test(GameForm.username, connectionString, out dbErrorMessage);

【讨论】:

  • 这似乎执行但它没有从数据库返回值。
  • 你检查你的ConnectionString了吗?
  • 我无法从这里检查您的连接字符串,请检查它是否有效。执行的结果是什么?
  • 程序执行但不返回值。也许是因为我使用的是 OleDbConnection 而不是 SqlConnection。这种方法能适应 OleDbConnection 吗?
  • "Data Source=\\reso-fs-2\allusers\Student_Home\20350657\Documents\clicker.accdb;Initial Catalog=<enter database Name>;User=<UserName>;Password=<password>;",类似这样的
猜你喜欢
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 1970-01-01
相关资源
最近更新 更多