当我运行代码显示错误 [英] When I run the code shows error

查看:75
本文介绍了当我运行代码显示错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  string  connectionString = ConfigurationManager.ConnectionStrings [  OneTransportConnectionString]的ConnectionString。 

SqlConnection sqlConnection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
SqlDataReader阅读器;

cmd.CommandText = 选择DISTINCT date_TripDate AS TripDate,traveltype.varchar_TravelTypeCode AS TripType,contactss .Value为Mobilenumber time_TripTime AS ShiftTime,trip.int_VehicleTripID为RequestID,;
cmd.CommandText = cmd + varchar_TravelerID AS AssociateID,(Associate_FirstName + Associate_LastName)AS AssociateName,Gender AS性别,varchar_ProjectId AS ProjectID,varchar_ProjectName AS ProjectName,;
cmd.CommandText = cmd + city.varchar_CityName AS City,placeee.varchar_PlaceName AS SourceArea,place.varchar_PlaceName AS DestinationArea,varchar_StatusDescription As Status,reason.varchar_ReasonDescription AS AppType,;
cmd.CommandText = cmd + 来自[OneC_988]。[dbo]。[988_Details_VehicleRequest] request< /跨度>;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Details_VehicleTrip]行程请求.int_VehicleRequestID = trip.int_VehicleRequestID;
cmd.CommandText = cmd + 和int_CityID ='8';
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Details_TripSheet]旅行表.int_VehicleTripID = sheet.int_VehicleTripID;
cmd.CommandText = cmd + join [CentralRepository]。[dbo]。[vw_CentralRepository_Associate_Details] AD on trip .varchar_TravelerID = AD.Associate_ID;
cmd.CommandText = cmd + left join [CentralRepository]。[dbo]。[vw_CentralRepository_Contacts] contactss on contactss.Associate_ID = trip.varchar_TravelerID和contactss.Contact_Type ='MBL1';
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Master_Place]到位.int_PlaceID = trip.int_TripDestinationID;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Master_Place] placeee on placeee .int_PlaceID = trip.int_TripSourceID;
cmd.CommandText = cmd + join [988_Master_City] city on request.int_CityID = city.int_CityID< /跨度>;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Master_TravelType] traveltype on traveltype .int_TravelTypeID = trip.int_TravelTypeID;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Master_Reason]理由上的原因.int_ReasonID = request.int_ReasonID;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Master_Status]状态.int_StatusID = trip.int_TripStatusID;
cmd.CommandText = cmd + 其中date_TripDate ='2016-08-24'和trip.int_TripStatusID not在(0);
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
sqlConnection.Open();
reader = cmd.ExecuteReader();
Console.WriteLine( test);
sqlConnection.Close();





当我运行以上显示错误时如下



'='附近的语法不正确。



以上错误显示如下以下



reader = cmd.ExecuteReader();



请帮帮我以上查询中的错误



我尝试了什么:



当我运行代码时显示错误如下



'='附近的语法不正确。

解决方案

如评论中所述,这是一个非常简单的问题,需要自行修复。完成后运行代码并查看cmd.CommandText中的内容。然后你甚至可以将sql复制到Sql Management Studio中进入一个新的查询窗口并快速找到语法错​​误。



我还建议你把它改成一个存储过程然后只需调用存储过程。这是一个更清洁的做事方式,你也避免了这个特殊问题,试图建立这样的字符串。


尝试使用

 cmd.CommandText + =  更多SQL语句; 





 cmd.CommandText = cmd +  更多SQL语句; 





您还必须在空格前加上附加语句的前缀附加它们时。打印出 cmd.CommandText 进行检查时,您会认识到这一点。


这是一个错误

来自[OneC_988]的[pre lang =c#> cmd.CommandText = cmd + 。[dbo]。[988_Details_VehicleRequest ]请求;
cmd.CommandText = cmd + 加入[OneC_988]。[dbo]。[988_Details_VehicleTrip]行程



当第二个字符串连接到第一个字符串时,你得到 requestjoin 因为你忘了在请求之后放一个空格。

每次字符串不以逗号结尾时你都会得到相同的结果。


string connectionString = ConfigurationManager.ConnectionStrings["OneTransportConnectionString"].ConnectionString;

SqlConnection sqlConnection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;

cmd.CommandText = "select DISTINCT date_TripDate AS TripDate,traveltype.varchar_TravelTypeCode AS TripType,contactss.Value as Mobilenumber time_TripTime AS ShiftTime,trip.int_VehicleTripID as RequestID,";
cmd.CommandText = cmd +"varchar_TravelerID AS AssociateID,(Associate_FirstName + Associate_LastName) AS AssociateName, Gender AS Gender,varchar_ProjectId AS ProjectID,varchar_ProjectName AS ProjectName,";
cmd.CommandText = cmd +"city.varchar_CityName AS City,placeee.varchar_PlaceName AS SourceArea,place.varchar_PlaceName AS DestinationArea,varchar_StatusDescription As Status,reason.varchar_ReasonDescription AS AppType,";
cmd.CommandText = cmd +"from [OneC_988].[dbo].[988_Details_VehicleRequest] request";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Details_VehicleTrip] trip  on request.int_VehicleRequestID=trip.int_VehicleRequestID";
cmd.CommandText = cmd + "and int_CityID ='8'";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Details_TripSheet] sheet on trip.int_VehicleTripID=sheet.int_VehicleTripID";
cmd.CommandText = cmd +"join  [CentralRepository].[dbo].[vw_CentralRepository_Associate_Details] AD on trip.varchar_TravelerID=AD.Associate_ID";
cmd.CommandText = cmd +"left join [CentralRepository].[dbo].[vw_CentralRepository_Contacts] contactss on contactss.Associate_ID = trip.varchar_TravelerID and contactss.Contact_Type='MBL1'";
cmd.CommandText = cmd +"join  [OneC_988].[dbo].[988_Master_Place] place on place.int_PlaceID=trip.int_TripDestinationID";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Master_Place] placeee on placeee.int_PlaceID=trip.int_TripSourceID";
cmd.CommandText = cmd +"join [988_Master_City] city on request.int_CityID=city.int_CityID";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Master_TravelType] traveltype on traveltype.int_TravelTypeID=trip.int_TravelTypeID";
cmd.CommandText = cmd +"join  [OneC_988].[dbo].[988_Master_Reason] reason on reason.int_ReasonID=request.int_ReasonID";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Master_Status] status on status.int_StatusID=trip.int_TripStatusID";
cmd.CommandText = cmd + "where  date_TripDate ='2016-08-24' and trip.int_TripStatusID not in (0)";
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection;
sqlConnection.Open();
reader = cmd.ExecuteReader();
Console.WriteLine("test");
sqlConnection.Close();



when i run the above shows error as follows

Incorrect syntax near '='.

The above error shows in below line as follows

reader = cmd.ExecuteReader();

please help me what is the mistake in my above query

What I have tried:

when i run the code shows error as follows

Incorrect syntax near '='.

解决方案

As mentioned in comments, this is a very simple issue to fix on your own. Run the code and see what is in cmd.CommandText after you are done. Then you can even copy that sql into Sql Management Studio into a new query window and find the syntax error very quickly.

I would also suggest you change this into a Stored Procedure and then just call the Stored Procedure. It is a much cleaner way of doing things and you also avoid this particular issue of trying to build up the string like this.


Try using

cmd.CommandText += "some more SQL statements";


than

cmd.CommandText = cmd + "some more SQL statements";



You must also prefix additional statements with a space when appending them. You would have recognised this when printing out cmd.CommandText for inspection.


Here is a bug

cmd.CommandText = cmd +"from [OneC_988].[dbo].[988_Details_VehicleRequest] request";
cmd.CommandText = cmd +"join [OneC_988].[dbo].[988_Details_VehicleTrip] trip  on


When the second string is concatenated to the first one, you get requestjoin because you forgot to put a space after request.
and you got the same every time a string do not end with a comma.


这篇关于当我运行代码显示错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆