Я пытаюсь выполнить следующий запрос через мой .net-код, но он дает мне ошибку, ошибку около« .but, когда я выполняю этот запрос на Sql Server, он работает правильно.Ошибка около «.net.
select
s.CurrentDate,
s.game_id,
s.Searchstring,
sm.type_of_game,
case
when(count(ISNULL(t.game_id, 0))>0) then 'Y' else 'N'
end as scorestatus,
case
when(count(isnull(i.game_id,0))>0) then 'Y' else 'N'
end as scorestatusindividual,
sm.image_path,
g.datetime,
'' as score_keeper
from
dbo.Search s with(nolock)
left outer join dbo.TeamGameResult t with(nolock)
on s.game_id=t.game_id
left outer join dbo.IndividualGameResult i with(nolock)
on i.game_id=s.game_id
join dbo.Game g with(nolock)
on g.game_id=s.game_id
join dbo.AdditionalDetails ad
on ad.AdditionalDetails_id=g.AdditionalDetails_id
join dbo.SportMaster sm with(nolock)
on sm.SportsMaster_id=ad.SportsMaster_id
where
(
(
Searchstring+' '+ convert(nvarchar(10),s.CurrentDate,101) Like '%01/15/2013%'
and Searchstring+' '+ convert(nvarchar(10),s.CurrentDate,101) Like '%Soccer%'
)
)
and convert(varchar(10),g.datetime,101) in ('01/15/2013','01/14/2013')
group by
s.game_id,
s.Searchstring,
sm.type_of_game,
s.CurrentDate,
sm.image_path,
g.datetime
order by
g.datetime desc
код .net здесь я создал строку и передать его fetchsearchrecordsbydate() метод. введите код здесь
for (int i = 0; i < strSearchstring.Length; i++) {
if (i == strSearchstring.Length - 1) {
Searchstring = strcondition + " Searchstring+'' ''+ convert(nvarchar(10),s.CurrentDate,101) Like ''%" + strSearchstring[i].ToString() + "%'')";
} else {
Searchstring = strcondition + " Searchstring+'' ''+ convert(nvarchar(10),s.CurrentDate,101) Like ''%" + strSearchstring[i].ToString() + "%'' and";
}
public static DataTable fetchsearchrecordsbydate(string strSearchString, string strUserid, string strdate) {
try {
Database db = DatabaseFactory.CreateDatabase();
DbCommand dbcmd = db.GetStoredProcCommand("spFetchRecordsFromdate");
db.AddInParameter(dbcmd, "Searchstring", DbType.String, strSearchString);
db.AddInParameter(dbcmd, "userid", DbType.Int32,Convert.ToInt32(strUserid));
db.AddInParameter(dbcmd,"date",DbType.DateTime,Convert.ToDateTime(strdate));
DataSet dsSearchResult = db.ExecuteDataSet(dbcmd);
return dsSearchResult.Tables[0];
} catch (Exception ex) {
throw ex;
}
}
Searchstring=((Searchstring+' '+ convert(nvarchar(10),s.CurrentDate,101) Like '%01/15/2013%' and Searchstring+' '+ convert(nvarchar(10),s.CurrentDate,101) Like '%Soccer%'))
это моя genrated строка. , но это дает мне ошибку, ошибка около ".it работает правильно в sql, но дает ошибку в .net
Покажите нам код в C# –
Как вы его используете в .net-коде? – Dima
База данных db = DatabaseFactory.CreateDatabase(); DbCommand dbcmd = db.GetStoredProcCommand ("spFetchRecordsFromTable"); db.AddInParameter (dbcmd, «Searchstring», DbType.String, strSearchString); db.AddInParameter (dbcmd, "userid", DbType.Int32, Convert.ToInt32 (strUserid)); db.AddInParameter (dbcmd, "date", DbType.DateTime, Convert.ToDateTime (strdate)); DataSet dsSearchResult = db.ExecuteDataSet (dbcmd); – Trupti