| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2456 人关注过本帖
标题:用C#读取SQL Server数据库时,连接成功却无法读取,请大神帮助小弟看看问题 ...
只看楼主 加入收藏
Howard1208
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-4-11
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
用C#读取SQL Server数据库时,连接成功却无法读取,请大神帮助小弟看看问题出在哪里。
首先源程序如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace link_database_test
{
    class Program
    {
        static void Main(string[] args)
        {
            
            string connectionString = "server=localhost;database=time_temp;uid=sa;pwd=336823aa";
            SqlConnection mySqlConnection = new SqlConnection(connectionString);//连接数据库
            SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
             = "SELECT TOP 5 Date/Time,0,1,2" + "FROM time_temp" + "WHERE Date/Time=2000/1/1";
            mySqlConnection.Open();
            SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();
            mySqlDataReader.Read();
            Console.WriteLine("Date is" + mySqlDataReader["Date/Time"]);
            Console.WriteLine("00:00时气温为" + mySqlDataReader["0"]);
            Console.WriteLine("01:00时气温为" + mySqlDataReader["1"]);
            Console.WriteLine("02:00时气温为" + mySqlDataReader["2"]);
            Console.ReadLine();
            mySqlDataReader.Close();
            mySqlConnection.Close();
         }
     }
}
这个问题是出现在连接数据库之后的,错误提示出现在SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader();此条命令上。
提示信息如下:
未处理System.Data.SqlClient.SqlException
  HResult=-2146232060
  Message=“/”附近有语法错误。
  Source=.Net SqlClient Data Provider
  ErrorCode=-2146232060
  Class=15
  LineNumber=1
  Number=102
  Procedure=""
  Server=localhost
  State=1
  StackTrace:
       在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
       在 System.Data.SqlClient.SqlDataReader.get_MetaData()
       在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
       在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
       在 System.Data.SqlClient.SqlCommand.ExecuteReader()
       在 link_database_test.Program.Main(String[] args) 位置 e:\Master\tunnel project\temp database\link_database_test\link_database_test\Program.cs:行号 22
       在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       在 System.Threading.ThreadHelper.ThreadStart()
  InnerException:
请哪位大神帮忙看看问题出在哪里。
我也曾经更换过读取数据库的命令,但错误提示还依旧存在。我分析应该不是数据库的问题,因为可以连接成功。
搜索更多相关主题的帖子: database localhost server 数据库 源程序 
2017-04-11 13:51
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:20 
不知道C的语法,但你查询的语句好像有问题
你直接在数据库的分析器上运行你这个
= "SELECT TOP 5 Date/Time,0,1,2" + "FROM time_temp" + "WHERE Date/Time=2000/1/1";
SELECT TOP 5 Date/Time,0,1,2 FROM time_temp WHERE Date/Time=2000/1/1

你这句,估计是有问题的
你可以换成最简单的语句看看,如
= "SELECT * FROM time_temp";
如果这个可以,那就是你的查询语句问题
2017-04-11 16:44
快速回复:用C#读取SQL Server数据库时,连接成功却无法读取,请大神帮助小弟看看 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017800 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved