读书人

小弟我这段从ACCESS数据库读一个值到控

发布时间: 2012-08-03 00:12:14 作者: rapoo

我这段从ACCESS数据库读一个值到控制台的程序哪里错了?求指导!!急!
[code=C#][/code]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;



namespace DBtest
{
class Program
{
static void Main(string[] args)
{
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=C:\Users\Dynames\Desktop\testDB\DBtest\DBtest.mdb";
OleDbConnection objConnection = new OleDbConnection(strConnection);
objConnection.Open();
OleDbCommand command = new OleDbCommand("SELECT [english] FROM [main] WHERE ID=01", objConnection);
OleDbDataReader reader = command.ExecuteReader();
reader.Read();


int k = (int) (reader["english"]);
Console.WriteLine("{0}", k);
reader.Close();
Console.ReadLine();

}
}
}


[解决办法]
你的错误错在哪里?错误提示是什么?
1、access数据库的路径对不对?能不能出来一个值
2、(int) (reader["english"]);转换的时候类型对不对,能不能转换

其实你只要单步调试一下就可以了,根据调试调出来的错误提示,一步一步走下去。
[解决办法]

探讨

错误提示是“标准表达式中数据类型不匹配”。。。数据库路径这些应该不会错的。。上网查了下说是可能SQL语句写错了。。。可我不知道错在哪里啊。。。新人求指导。。。SQL语句里面的表格名。。。列名都不会错的

[解决办法]
SELECT [english] FROM [main] WHERE ID=01 ??
ID=01?
[解决办法]
SQL code
SELECT [english] FROM [main] WHERE ID="01"
[解决办法]
1。SELECT [english] FROM [main] WHERE ID="01",要加也是加单引号!
怕路径错了,就丢到bin/debug下~


2。int k = (int) (reader["english"]);
这里可能有问题

读书人网 >C#

热点推荐