Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Omicron_Persey_8
Дата сообщения: 05.08.2009 13:27
MagistrAnatol

Цитата:
Спасибо уже разобрался.

Так в чем дело было?

Цитата:
как в рентайме определить на каком контроле я кликнул

sender сравнивать со всеми контролами, пока нужный не найдешь:

Код: if(sender==textBox1) i+=1;
if(sender==textBox2)
Автор: MagistrAnatol
Дата сообщения: 05.08.2009 16:02
Omicron_Persey_8

Цитата:
Так в чем дело было?

как я и говорил проблема с индексами,точнее с форейгин кей - я его удалил и сделал связку немного по другому, щас все нормально
Автор: igorillaxp
Дата сообщения: 06.08.2009 01:16
Кто-нибудь юзал coolite toolkit? Возникла странная проблема с комбобоксами - один обновляет другой через ajax. В принципе побороли, но сама по себе ситуация странная и хотелось бы обсудить с тем, кто с этим сталкивался
Автор: TeXpert
Дата сообщения: 06.08.2009 09:39
BlackVetal
Цитата:
Пока у меня одно предположение - не открыто "Connection". После присвоения "ConnectionString" - я бы поставил команду "Open"
Я код посмотрел -- оказывается, с открытием вручную соединения я уже экспериментировал (просто, код отложил на время и позабылось), к сожалению это никак не влияет

Omicron_Persey_8
Цитата:
А в SQL-ном профайлере запросы на обновление идут после первой попытки, не пробовали смотреть?
Забыл в предыдущем посте упомянуть -- профайлером, естественно, тоже смотрел. А уточни, что это означает -- профайлер как-то запаздывает?
Автор: Omicron_Persey_8
Дата сообщения: 06.08.2009 14:09
TeXpert
Что-то мне кажется, мы друг друга не понимаем. Ты что имеешь в виду под словом профайлер? Я имею в виду утилиту SQL Server Profiler, которая предназначена для мониторинга всех соединений с SQL Server. Грубо говоря, ты в своей проге нажал "Обновить", прога сделала за прос на сервер и в профайлере мы это увидели. Просмотреть содержимое таблиц БД из профайлера нельзя, поэтому мне кажется, что ты имеешь в виду SQL Server Management Studio.

В данном случае было интересно: отправила прога запрос на обновление серверу после первой попытки или нет. Это позволило бы, так сказать, определить виновника.
Автор: TeXpert
Дата сообщения: 06.08.2009 15:56
Omicron_Persey_8
Цитата:
...поэтому мне кажется, что ты имеешь в виду SQL Server Management Studio
Ну уж... Не настолько я, наверное, чайник, чтобы путать такое). Под профайлером имею в виду именно профайлер и ничто иное. Тем более, я уточнил --
Цитата:
...профайлером, естественно, тоже смотрел
это я вспомнил, увидев твоё сообщение
Цитата:
В данном случае было интересно: отправила прога запрос на обновление серверу после первой попытки или нет
После первой попытки запрос не идёт, ясно, что в проге надо копать, так что ищу пока
Автор: BlackVetal
Дата сообщения: 07.08.2009 05:06
TeXpert
Если он тебе не выполняет запрос после первого запуска, тогда не должна выполняться команда "Update" в твоем коде. Ты пробовал убирать "try"?
Автор: TeXpert
Дата сообщения: 07.08.2009 11:08
BlackVetal
Сделаю уточнение: запрос не делался при самом первом нажатии, при последующих нажатиях запрос делался, но неудачно, выводилось сообщение типа "String or binary data would be truncated. The statement has been terminated". Я немного перестроил код (но записывающий метод не менял, и вообще, модификации не касаются баз), и кое-что изменилось. А именно: перестал выводиться то сообщение "String or binary data would be truncated...", теперь запись происходит без скандалов, но при самом первом нажатии так же ничего не происходит, запись происходит при последующем
Цитата:
Если он тебе не выполняет запрос после первого запуска, тогда не должна выполняться команда "Update" в твоем коде. Ты пробовал убирать "try"?
А его зачем убирать?

P. S. Вообще, странная вещь: при очередном обновлении и в профайлере, и в таблице (через Management Studio) я вижу данные, внесённые при предыдущей попытке, а текущие изменения, стало быть, увиже при попытке следующего обновления. Странно как-то, работающий не может же ждать, когда таблица изволит обновиться

Omicron_Persey_8, ты писал
Цитата:
Да и обновление процесс не мгновенный

Цитата:
А в SQL-ном профайлере запросы на обновление идут после первой попытки, не пробовали смотреть?
Раскрой тему -- конкретные задержки какие и как их можно регулировать? База локальная. Спасибо
Автор: Omicron_Persey_8
Дата сообщения: 07.08.2009 13:35
TeXpert
Да задержки разные могут быть: начиная от загруженности SQL сервера и заканчивая всем, чем угодно. Тем более они у тебя на одном компе. И еще ты писал, что такое происходит иногда. Сильно часто?
Автор: TeXpert
Дата сообщения: 07.08.2009 16:33
Omicron_Persey_8
Цитата:
Сильно часто?
Ну, с проблемной таблицей -- а она большая (много полей) -- постоянно, вот и разбираюсь, с другими таблицами такого не было
Цитата:
Тем более они у тебя на одном компе
Так наоборот, должно быть мгновенно -- конкурентов-то нет!
Автор: Omicron_Persey_8
Дата сообщения: 08.08.2009 06:57

Цитата:
Так наоборот, должно быть мгновенно -- конкурентов-то нет!

Не обязательно. SQL Server и клиентская прога конкуренты друг другу за процессорное время, память и т. д.
Автор: blaro
Дата сообщения: 09.08.2009 11:17
Подскажите пожалуйста, как вставлять обычные переменные в строку запроса в sql?

Код:
Private Sub btnsrtbyseason_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsrtbyseason.Click
Dim lowprice, highprice As Double
Dim season As String
lowprice = InputBox("Enter your low price")
highprice = InputBox("Enter your high price")
Try
Dim da As New Data.OleDb.OleDbDataAdapter("SELECT Commodities.* FROM Commodities INNER JOIN Seasons ON [Commodities].[Code]=[Seasons].[Season ID] WHERE commodities.price between lowprice and highprice and seasons.season=yes", foxconnstring)
Dim ds As New Data.DataSet()
ds.Tables.Clear()
da.Fill(ds, "FoxPro.mdb")
dgv1.DataSource = ds.Tables(0).DefaultView()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
Автор: chigiryov
Дата сообщения: 09.08.2009 21:47
привет, blaro

ты писал:


Цитата:
Подскажите пожалуйста, как вставлять обычные переменные в строку запроса в sq


не надо вставлять обычные переменные в sql запрос, это уязвимость (http://en.wikipedia.org/wiki/SQL_injection)

почитай про SqlParameter'ы например:

http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson06.aspx
Автор: blaro
Дата сообщения: 10.08.2009 14:01
Спасибо за статьи. Это было интересно.
Ты знаешь, мне по фиг, уязвимости это или нет. Это не коммерческий проект или сайт, который работает с БД. Я пишу всего лишь обычную прогу - домашнее задание, которое скоро надо сдать.
Автор: niichavo
Дата сообщения: 10.08.2009 14:23
blaro

Цитата:
Ты знаешь, мне по фиг, уязвимости это или нет. Это не коммерческий проект или сайт, который работает с БД. Я пишу всего лишь обычную прогу - домашнее задание, которое скоро надо сдать.

Тогда используй конкатенацию (объединение) строк. Пример "...WHERE id = " + id_param + " AND...".

ЗЫ. Лучше сразу привыкать к правильному и безопасному программированию.
Автор: chigiryov
Дата сообщения: 10.08.2009 14:34
привет blaro


Цитата:
Ты знаешь, мне по фиг, уязвимости это или нет



тогда наверное тебя заинтересует метод String.Format как юзать:

http://blogs.msdn.com/kathykam/archive/2006/03/29/564426.aspx

главное не забудь, что строковые литералы, как и даты, в sql запросе должны быть в одинарных кавычках

те вместо


Код: [no]"SELECT Commodities.* FROM Commodities INNER JOIN Seasons ON [Commodities].
Код: =[Seasons].[Season ID] WHERE commodities.price between lowprice and highprice and seasons.season=yes"[/no]
Автор: Lihonosov
Дата сообщения: 10.08.2009 15:56
blaro
niichavo
Может не стоит так выражаться
Автор: blaro
Дата сообщения: 10.08.2009 17:43
chigiryov

Цитата:
преподы любят подъебывать про всякие sqlinjection, поверь мне

Наш такой простой, что может сам спросить почему я так написал. Он мало что понимает в защите и в взломе.

niichavo

Цитата:
Тогда используй конкатенацию (объединение) строк. Пример "...WHERE id = " + id_param + " AND...".

ЗЫ. Лучше сразу привыкать к правильному и безопасному программированию.

Простая конкатенация у меня не работает, а может и я не правильно написал. А насчет правильного и безопасного программирования - ты прав. К этому надо привыкать с молодых ногтей.
Автор: chigiryov
Дата сообщения: 10.08.2009 17:53
blaro

1. Exception (или что там возвращается) в студию. Коннектшн к файлу базы открывается?

2. Вытяни дебаггером (ну или там Console.WriteLine) строку запроса

3. Попробуй зделать запрос стандартными средствами

4. Сравни запрос, который генерит програма с тем что получается когда использовать мастер запросов в Access
Автор: blaro
Дата сообщения: 10.08.2009 18:50
chigiryov
1) Коннекшн к файлу базы открывается.
3) Делал. Работает нормально.
4)Сравнил. У меня получилось так:

Код:
SELECT Commodities.* FROM Commodities WHERE Commodities.Price between20and70and season.spring=yes
Автор: chigiryov
Дата сообщения: 10.08.2009 19:21
надеюсь заработало
Автор: blaro
Дата сообщения: 10.08.2009 20:33
ГЫ!!! Заработало. Всем спасибо за помощь!
Автор: May_Johnson
Дата сообщения: 11.08.2009 15:23
Всем доброго времени суток.
Никто не встречал способа работать с формулами Excel через ODBC?
Приложение разрабатывается специально для людей без MS Office
Автор: chigiryov
Дата сообщения: 12.08.2009 18:20
May_Johnson

Для дот нета через одбс не встречал. Может быть http://www.formulacompiler.org/ поможет, но это джава и не одбс
Автор: May_Johnson
Дата сообщения: 13.08.2009 17:05
Платный, и для Явы, но для общего развития полезно, не знал про такую штуку, спасибо.

ODBC - не принципиально, подойдет любой провайдер под .net или даже com, помимо MS Excel разумеется
Автор: BlackVetal
Дата сообщения: 14.08.2009 06:06
May_Johnson

Цитата:
Никто не встречал способа работать с формулами Excel через ODBC?
Приложение разрабатывается специально для людей без MS Office

Раскажи подробнее что ты хочеш сделать? А то слишком уж абсрактная задача ... а без MS Excel - "com" работать не будет (по крайней мере нужна будет dll, которая отвечает за "com" соединения)
Автор: Omicron_Persey_8
Дата сообщения: 14.08.2009 07:45
May_Johnson
Да, что имеется в виду под
Цитата:
работать с формулами Excel через ODBC
? Если их вызов, то без Excel'я ничего не выйдет. А если их вставка в книгу с последующим открытием в Excel'е и вычислением - то это совсем другая задача.

Автор: dneprcomp
Дата сообщения: 15.08.2009 02:26
May_Johnson
Посмотри
http://www.connectionstrings.com/excel
http://msdn.microsoft.com/en-us/library/cc280527.aspx
http://support.microsoft.com/kb/257819

возможно описана работа с формулами. но надо логин иметь
http://searchenterpriselinux.techtarget.com/tip/0,289483,sid39_gci1192976,00.html

http://www.google.com/search?hl=en&q=excel+connect&btnG=Search&aq=f&oq=&aqi=g10
Автор: blaro
Дата сообщения: 18.08.2009 23:03
Товарищи программисты, нужна помощь! Мне нужно создать combobox в котором будут отображаться папки. Например комбобокс как в программе поиска в Виндозе. Вот пример:
ComboBox
Автор: BlackVetal
Дата сообщения: 19.08.2009 07:08
blaro
извини - а вопрос в чем? в чем помощь нужна конкретно?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.