|
|
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Я работаю c sql server 2000. Мне надо получить определенное количество записей. Это количество лежит в переменной n. Как правильно составить запрос пишу: select TOP n ID1 FROM Work, ну и т.д. Ошибка. Помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 01:17 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Вариантов ... несколько > 2х, но самые быстрые: 1. Как Вы уже сказали - TOP, но для этого придётся формировать динамический запрос и запущать полученную строчку; 2. использовать set rowcount N. Подробност см. BOL. И вопросы по скулю лучше задавать на соотв. форуме :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 08:55 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Добавлю, что SQL Server 2005 поддерживает конструкцию TOP @n, где @n - переменная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 10:46 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 11:15 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
убить камнем за такой динамик sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 12:26 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Ramin Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru Это не прошло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 13:52 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
скажы честно, какая разница будет???, самый лучшый вариант сказал Bigheadman , но это не для 2000! стринг в конце концов получится "select TOP 15 ID1 FROM Work"; ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 13:53 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
авторскажы честно, какая разница будет???, тоесть исправлю себя, ---"какие не достатки будет"??? отвечу --- никакие! доказывай что будет!! ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 13:54 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
puma1 Ramin Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru Это не прошло. а так: Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 13:58 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Ramin puma1 Ramin Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru Это не прошло. а так: Код: plaintext 1. 2. 3. ---- www.hramin.jino-net.ru То же самое. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 14:22 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
2 puma1. Если не приведете текст ошибки, то гадание на кофейной гуще будет долго продолжаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 14:26 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
слушай пумучка, я сперва добавлял на стринг интегер что б ты тоже сама что то сама сообразила а не копировалкод, если не работает стринг на стринг, и просто извини меня тупо сказать не прошло тогда вы что то не договариваети! авторТо же самое. :( какую ошибку дает? ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 14:27 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Raminслушай пумучка, я сперва добавлял на стринг интегер что б ты тоже сама что то сама сообразила а не копировалкод, если не работает стринг на стринг, и просто извини меня тупо сказать не прошло тогда вы что то не договариваети! авторТо же самое. :( какую ошибку дает? ---- www.hramin.jino-net.ru Во-первых, ты может уже давно в этом программируешь, я вообще только начала учить ADO.NET , если, что-то не получается обращаюсь сюда, потому-что не куда больше, учусь сама. Если спросила, какую-то ерунду, то не надо отвечать грубостью, лучше промолчи или объясни. Вообще я читала, что нельзя в SQL Server 2000, в случае с TOP вкладывать переменные, можно только так например Select TOP 5, а так нельзя Select TOP n. Из-за этого и обратилась за помощью, а не чтоб копировать твой код. А текст ошибки Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. И показывает на строку reader.Close(); А когда пишу, Select TOP 5, то все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:02 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
zz118приведи полный код private void Page_Load(object sender, System.EventArgs e) { string str1=""; int k=0; XmlTextReader reader = new XmlTextReader (Server.MapPath("djon.xml")); while (reader.Read()) { if(reader.Name=="AMOUNT") { str1=reader.ReadElementString(); k=Convert.ToInt32(str1); } } SqlConnection myConnection = new SqlConnection("server=(local);database=Northwind;Trusted_Connection=yes"); SqlDataReader reader1= null; try { myConnection.Open(); string sqlstring = "select TOP k ID1 FROM Work ORDER BY ID1"; SqlCommand myCommand = new SqlCommand(sqlstring, myConnection); reader1 = myCommand.ExecuteReader(); while (reader1.Read()) { Response.Write("ID1="+reader1.GetDecimal(0)); Response.Write(" "); } } catch (SqlException ex) { Response.Write(ex.Message); } finally { reader1.Close(); myConnection.Close(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:24 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
"select top " + Convert.ToString(k) + " * ..." хотя бы так, но ОЧЕНЬ не безопасно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:47 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
авторА текст ошибки Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. И показывает на строку reader.Close(); А когда пишу, Select TOP 5, то все работает Постойте. Указанная ошибка никоим образом не связана с SELECT TOP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:56 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
puma1 если, что-то не получается обращаюсь сюда, потому-что не куда больше, учусь сама. Все как правило учаться сами, а не ходят на курсы. puma1 Если спросила, какую-то ерунду, то не надо отвечать грубостью, лучше промолчи или объясни. Ну конечно это же ваш личный репититор, должен расстилаться, чтобы вас не задеть никак и все все все подробно объяснять. puma1 Вообще я читала, что нельзя в SQL Server 2000, в случае с TOP вкладывать переменные, можно только так например Select TOP 5, а так нельзя Select TOP n. Из-за этого и обратилась за помощью, а не чтоб копировать твой код. Конкретно в TOP нельзя, но вы формируете строку на стороне клиента, а значит можете в строковую переменную запихнуть строку с количеством , как это сделать вам уже объяснили. Если у вас выдает ошибку на Reader.Close, не пробовали убрать TOP из запроса и вставить туда просто SELECT * from ...., может дело то не в TOP\ Из приведенного кода Код: plaintext Переменные так не вставляются в строку, сервер о вашей K ничего не знает, сделайте Код: plaintext По поводу k.toString пусть СИсты меня поправят, я в нем не знаток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 15:58 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
+ ко всему вне блока try{...} этот reader вообще не существует (=null). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:03 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
zz118+ ко всему вне блока try{...} этот reader вообще не существует (=null). Это вы к тому что в finally можем попасть до присвоения ридера...да, похоже на это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:08 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Думающий puma1 если, что-то не получается обращаюсь сюда, потому-что не куда больше, учусь сама. Все как правило учаться сами, а не ходят на курсы. puma1 Если спросила, какую-то ерунду, то не надо отвечать грубостью, лучше промолчи или объясни. Ну конечно это же ваш личный репититор, должен расстилаться, чтобы вас не задеть никак и все все все подробно объяснять. puma1 Вообще я читала, что нельзя в SQL Server 2000, в случае с TOP вкладывать переменные, можно только так например Select TOP 5, а так нельзя Select TOP n. Из-за этого и обратилась за помощью, а не чтоб копировать твой код. Конкретно в TOP нельзя, но вы формируете строку на стороне клиента, а значит можете в строковую переменную запихнуть строку с количеством , как это сделать вам уже объяснили. Если у вас выдает ошибку на Reader.Close, не пробовали убрать TOP из запроса и вставить туда просто SELECT * from ...., может дело то не в TOP\ Из приведенного кода Код: plaintext Переменные так не вставляются в строку, сервер о вашей K ничего не знает, сделайте Код: plaintext По поводу k.toString пусть СИсты меня поправят, я в нем не знаток. select TOP k ID1 FROM. Я знаю, что так не пишут, просто в этом мой вопрос и состоял, как правильно это написать, до этого писала "select TOP " + k + " ID1 FROM. Выдавал ошибку. А насчет этого ( Конкретно в TOP нельзя, но вы формируете строку на стороне клиента, а значит можете в строковую переменную запихнуть строку с количеством , как это сделать вам уже объяснили.) я поняла. Спасибо за участие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:09 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
puma1 Я знаю, что так не пишут, просто в этом мой вопрос и состоял, как правильно это написать, до этого писала "select TOP " + k + " ID1 FROM. Ну так вы ставьте вопрос точнее..и приводе пример того что у вас не работает и текст ошибки, вам будут помогать гараздо быстрее =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:12 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Думающий puma1 Я знаю, что так не пишут, просто в этом мой вопрос и состоял, как правильно это написать, до этого писала "select TOP " + k + " ID1 FROM. Ну так вы ставьте вопрос точнее..и приводе пример того что у вас не работает и текст ошибки, вам будут помогать гараздо быстрее =) Хорошо. Спасибо большое за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:22 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
дорогой Пума если обидел вас извините не хотел но как не нервничать?! я дал вам такой код Код: plaintext а вы даже не правльно скопировали :) авторstring sqlstring = "select TOP k ID1 FROM Work ORDER BY ID1"; ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 16:47 |
|
||
|
select TOP
|
|||
|---|---|---|---|
|
#18+
Raminдорогой Пума если обидел вас извините не хотел но как не нервничать?! я дал вам такой код Код: plaintext а вы даже не правльно скопировали :) авторstring sqlstring = "select TOP k ID1 FROM Work ORDER BY ID1"; ---- www.hramin.jino-net.ru Дело в том, что я все перепробывала и так "select TOP "+n+" ID1 FROM Work" и так "select TOP "+n.ToString()+" ID1 FROM Work". Я думала в этом проблема, оказалось, что ошибка была в другом. Сейчас все прекрасно работает. Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2006, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34052817&tid=1353064]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
94ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 462ms |

| 0 / 0 |
