使用c#获取数字值无法访问

时间:2017-11-03 18:59:36

标签: c# database visual-studio ms-access

我正在尝试从Access数据库中获取数值。我下面写的代码有时会起作用,有时它不会。当我运行下面的代码时,我得到一个带有正确答案的MessageBox(始终)。但是,当我以相同的方式运行代码,但不是要求MessageBox,我要求通过label1.text = TValue在应用程序的标签中显示该值我在此行中得到以下提到的错误消息:

string SearchValue = command.ExecuteScalar().ToString();

我也可以在数据库中使用不同的列运行代码(用整数填充),但我有同样的奇怪行为。谁能告诉我我做错了什么?

我收到以下错误消息:

An unhandled exception of type 'System.NullReferenceException' occurred in OCR_Interface.exe

Additional information: Object reference not set to an instance of an object.

我写了以下函数:

    static public string GetDataFromDatabase(string TableName, string SearchColumns, string TargetRow, int TargetValue)
    {
        OleDbConnection con = new OleDbConnection(@"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = P:\Root_Data.accdb");
        con.Open();

        string SQLstr = "SELECT " + SearchRow + " FROM RootData WHERE " + TargetRow + "=" + TargetValue;
        OleDbCommand command = new OleDbCommand(SQLstr, con);
        string SearchValue = command.ExecuteScalar().ToString();

        con.Close();
        return SearchValue;

    }

我按以下方式调用该函数:

        int TestValue = 3000;
        TestValue .ToString();
        string TValue = GetDataFromDatabase("RootData", "Ticker", "Quantity", TestValue);
        MessageBox.Show(TValue);

0 个答案:

没有答案