Мне было интересно, была ли компиляция каких-либо известных различий в принятой структуре синтаксиса SQL между выполнением запроса непосредственно в SQL Management Studio и созданием запроса sql в виде строки в приложении .net и отправкой его через SQLCommand and Connection?Я собирался спросить о конкретной проблеме, которая была у меня с одним конкретным запросом, но оказалось, что у меня несколько проблем с несколькими запросами.Я в основном беру набор запросов, написанных кем-то другим, и внедряю их в веб-части .Net, которые я реализую, но я обнаруживаю, что мне нужно настроить большинство запросов (т.е. Table1.Column1 не работает, только Column1работает нормально)
Мне было интересно, являются ли проблемы, с которыми я сталкиваюсь, известными различиями между двумя средами или проблема заключается в проблемах структуры базы данных / схемы / запроса?
РЕДАКТИРОВАТЬ С ПРИМЕРОМ:
Следующие 4 запроса все работают в SQL Management Studio, но не передаются в SQL-соединение в веб-части .net ... Если не работает, я имею в виду, что веб-часть не будет загружаться на странице asp (онана самом деле страница SharePoint), и я сказал, что SharePoint вызывает проблемы.Я не уверен в правильности журналов sharepoint, на которые можно посмотреть ... (ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я знаю, что эти запросы не имеют смысла, например, бессмысленность предложения FROM, но это отладочные запросы, с которыми я играл)попытаться определить проблемы)
5-й запрос отлично работает как в SQL Management Studio, так и в веб-части .Net, но это противоположная логика того, что я хотел ..
//-----------------------------------------------
SELECT DISTINCT
'2011' AS Yr, '01' AS PerNbr, 1 AS Amount
FROM Submissions AS s INNER JOIN
JurisdictionalData AS j ON re_KeyTbl = Keytbl AND s.jurisdiction <> REPLACE(j.JurisdictionTxt, 'Jurisdiction', '')
//-----------------------------------------------
SELECT DISTINCT
'2011' AS Yr, '01' AS PerNbr, 1 AS Amount
FROM Submissions AS s INNER JOIN
JurisdictionalData AS j ON j.re_KeyTbl = s.Keytbl AND s.jurisdiction NOT IN (REPLACE(j.JurisdictionTxt, 'Jurisdiction', ''))
//-----------------------------------------------
SELECT DISTINCT
'2011' AS Yr, '01' AS PerNbr, 1 AS Amount
FROM Submissions AS s INNER JOIN
JurisdictionalData AS j ON j.re_KeyTbl = s.Keytbl AND s.jurisdiction NOT IN (j.JurisdictionTxt)
//-----------------------------------------------
SELECT DISTINCT
'2011' AS Yr, '01' AS PerNbr, 1 AS Amount
FROM Submissions AS s INNER JOIN
JurisdictionalData AS j ON j.re_KeyTbl = s.Keytbl AND s.jurisdiction <> j.JurisdictionTxt
//-----------------------------------------------
SELECT DISTINCT
'2011' AS Yr, '01' AS PerNbr, 1 AS Amount
FROM Submissions AS s INNER JOIN
JurisdictionalData AS j ON j.re_KeyTbl = s.Keytbl AND s.jurisdiction = j.JurisdictionTxt
Код C # (довольно стандартный материал):
члены класса:
//sql db connection string
private string _cnString =
"Server=_server;" +
"Database=_db;" +
"User ID=_user;" +
"Password=_password;" +
"Trusted_Connection=False";
//sql query
private string query = "SELECT DISTINCT " +
"'2011' AS Yr, '01' AS PerNbr, 1 AS Amount " +
"Submissions AS s INNER JOIN " +
"JurisdictionalData AS j ON j.re_KeyTbl = s.Keytbl AND s.jurisdiction = j.JurisdictionTxt ";
в моей функции CreateChildControls:
SqlConnection sqlConn = new SqlConnection(_cnString);
//run SQL query and store results in a dataset
SqlCommand sqlCmd = new SqlCommand(query, sqlConn);
SqlDataAdapter adp = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
adp.Fill(ds);