|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Приветствую! Есть поиск по базе, все работает, кроме Guid , вот часть кода по поиску: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
куда копать, пробовал в запросе и like использовать тоже не находит... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:12 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
guid может распарситься из совершенно разных вариантов строковых представлений а вот в sql-запрос его надо засовывать в строго определенном формате Так что преобразовывай строку в guid, а потом форматируй обратно P.S. Вообще, почему бы методу parseinput возвращать не string, а object ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:32 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624, надо смотреть не различается ли регистр Guid в БД и в запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:34 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProТак что преобразовывай строку в guid, а потом форматируй обратно Это не нужно, uniqueidentifier в sql запросе передается как строка, обернутся одинарными кавычками. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:35 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Кстати, великолепный образец дыры в безопасности SQL-injection. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:37 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronЭто не нужно, uniqueidentifier в sql запросе передается как строка, обернутся одинарными кавычками.да, но распарсить ты его можешь, например, из сплошного текста, а вот в sql передавать нужно обязательно в виде '3391568C-1246-48E3-82A7-71302176E392' (по крайней мере в mssql) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:51 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Axeleronmishanya3624, надо смотреть не различается ли регистр Guid в БД и в запросе.бобер, выдыхай! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:52 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronmishanya3624, надо смотреть не различается ли регистр Guid в БД и в запросе.бобер, выдыхай! Так может говорить только то кто не наступал на эти грабли (пока). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:54 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronЭто не нужно, uniqueidentifier в sql запросе передается как строка, обернутся одинарными кавычками.да, но распарсить ты его можешь, например, из сплошного текста, а вот в sql передавать нужно обязательно в виде '3391568C-1246-48E3-82A7-71302176E392' (по крайней мере в mssql) Если Guid уже в правильном строковом формате, ничего не нужно ни парсить, ни конвертить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:55 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronShocker.Proпропущено... да, но распарсить ты его можешь, например, из сплошного текста, а вот в sql передавать нужно обязательно в виде '3391568C-1246-48E3-82A7-71302176E392' (по крайней мере в mssql) Если Guid уже в правильном строковом формате, ничего не нужно ни парсить, ни конвертить.а если в неправильном? ты код автора-то почитай, не ленись - пользователь может задать giud в виде 3391568C124648E382A771302176E392 - он определится как giud, но sql его не съест ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:59 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronКстати, великолепный образец дыры в безопасности SQL-injection.ну там вообще косяков полно. Например для float косяк с десятичной точкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:01 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronShocker.Proпропущено... бобер, выдыхай! Так может говорить только то кто не наступал на эти грабли (пока).ок, тогда расскажи, что за грабли. Ибо еще ни разу не сталкивался с ситуацией, где регистр букв в шестнадцатеричных числах имеет значение ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:03 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Proа если в неправильном? ты код автора-то почитай, не ленись - пользователь может задать giud в виде 3391568C124648E382A771302176E392 - он определится как giud, но sql его не съест Это в условии задачи не сказано, не нужно фантазировать. По умолчанию, считаем, что в текстбоксе он выглядит как 3391568C-1246-48E3-82A7-71302176E392. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:05 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronпропущено... Так может говорить только то кто не наступал на эти грабли (пока).ок, тогда расскажи, что за грабли. Ибо еще ни разу не сталкивался с ситуацией, где регистр букв в шестнадцатеричных числах имеет значение Грабли могут быть в том, что если поиск будет произведен по Guid '3391568C-1246-48E3-82A7-71302176E392', а в базе он будет записан как '3391568c-1246-48e3-82a7-71302176e392', то запись найдена не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:06 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronShocker.Proа если в неправильном? ты код автора-то почитай, не ленись - пользователь может задать giud в виде 3391568C124648E382A771302176E392 - он определится как giud, но sql его не съест Это в условии задачи не сказано, не нужно фантазировать. По умолчанию, считаем, что в текстбоксе он выглядит как 3391568C-1246-48E3-82A7-71302176E392.так у автора же не работает. Одна из причин может быть как раз написание guid-а сплошным текстом. То есть я пытаюсь ответить автору на изначальный вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:07 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronShocker.Proпропущено... ок, тогда расскажи, что за грабли. Ибо еще ни разу не сталкивался с ситуацией, где регистр букв в шестнадцатеричных числах имеет значение Грабли могут быть в том, что если поиск будет произведен по Guid '3391568C-1246-48E3-82A7-71302176E392', а в базе он будет записан как '3391568c-1246-48e3-82a7-71302176e392', то запись найдена не будет. Если в настройках самой базы будет установлен Case-sensitive. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:07 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronпропущено... Это в условии задачи не сказано, не нужно фантазировать. По умолчанию, считаем, что в текстбоксе он выглядит как 3391568C-1246-48E3-82A7-71302176E392.так у автора же не работает. Одна из причин может быть как раз написание guid-а сплошным текстом. То есть я пытаюсь ответить автору на изначальный вопрос. Все может быть, дождемся автора :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:08 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronГрабли могут быть в том, что если поиск будет произведен по Guid '3391568C-1246-48E3-82A7-71302176E392', а в базе он будет записан как '3391568c-1246-48e3-82a7-71302176e392', то запись найдена не будет.ты меня пугаешь, ты чего курил? в базе никаких БУКАВАК различного регистра нет, uniqueidentifier - это бинарный формат ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:10 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, ты мне расскажи, а в строке запроса where ты тоже передаешь Guid (тип CLR, аналогом которому в SQL Server является uniqueidentifier) или все-таки ты преобразуешь в string для передачи? У меня была проблема с БД хостера, которая содержала uniqueidentifier'ы в lower case, и когда я в строке поиска передавал строку в upper case, строка не находилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:16 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Axeleronкоторая содержала uniqueidentifier'ы в lower caseтвои слова справедливы только в одном случае - если гуиды банально хранились в строковом поле. Поле типа uniqueidentifier бинарное - там по определению не может быть понятия lower case или upper case. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:20 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, что я хочу сказать, что guid - это 128-битное значение и регистр буковок не имеет значения, но у меня от чего-то была такая хрень с хостерской БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:23 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
То есть guid в базе был в нижнем регистре, и когда я искал по этому же guid в верхнем регистре, ничего не находилось, когда передавал строку guid в нижнем, находилось. поле было типа uniqueidentifier. Тупо, дико, но как ты объяснишь это? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:25 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronТо есть guid в базе был в нижнем регистре, и когда я искал по этому же guid в верхнем регистре, ничего не находилось, когда передавал строку guid в нижнем, находилось. поле было типа uniqueidentifier. Тупо, дико, но как ты объяснишь это?как вариант - запрос был построен таким образом, что до сравнения guid неявно преобразовывался в строку, а потом уже сравнивался как строка ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:27 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProAxeleronТо есть guid в базе был в нижнем регистре, и когда я искал по этому же guid в верхнем регистре, ничего не находилось, когда передавал строку guid в нижнем, находилось. поле было типа uniqueidentifier. Тупо, дико, но как ты объяснишь это?как вариант - запрос был построен таким образом, что до сравнения guid неявно преобразовывался в строку, а потом уже сравнивался как строка Не помню, кажется, в ХП проблема с where запросом была. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:30 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Axeleronmishanya3624, надо смотреть не различается ли регистр Guid в БД и в запросе. Регистр одинаковый AxeleronКстати, великолепный образец дыры в безопасности SQL-injection. Поясните, если не сложно. Shocker.Proа если в неправильном? ты код автора-то почитай, не ленись - пользователь может задать giud в виде 3391568C124648E382A771302176E392 - он определится как giud, но sql его не съест GUid в правильном формате uniq база - mssql Shocker.ProТак что преобразовывай строку в guid, а потом форматируй обратно Единственный вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 22:39 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Спасибо уже, за интересный диалог:) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 22:41 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Shocker.ProТак что преобразовывай строку в guid, а потом форматируй обратно Единственный вариант?Это вариант исправить имеющийся недостаток алгоритма. То есть в алгоритме есть системная ошибка, которая заключается в том, что значение, которое будет распознано с помощью TryParse не обязательно может быть использовано для формирования sql запроса. В данном случае некорректно будет работать bit, real и uniqueidentifier. C datetime тоже будут серьезные проблемы, в частности могут быть перепутаны месяц и число. Фактически, можно рассчитывать, что только int отработает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 23:12 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Что касается изначальной проблемы - в чем вопрос? Поставь точку останова и посмотри, какой sql-запрос сформировался к выполнению ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 23:13 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624AxeleronКстати, великолепный образец дыры в безопасности SQL-injection. Поясните, если не сложно.очень упрощенно говоря, можно в текстбоксе написать ' drop database и текущая база будет удалена (при достаточности прав). Естественно, можно "наделать" и других "делов". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 23:15 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronShocker.Proпропущено... бобер, выдыхай! Так может говорить только то кто не наступал на эти грабли (пока).чооо? буквы это всего лишь hex-представление байт, пофиг какой регистр. но если он у тебя хранится как строка, то ты сам себе злобный буратино. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 23:16 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AntonariyAxeleronпропущено... Так может говорить только то кто не наступал на эти грабли (пока).чооо? буквы это всего лишь hex-представление байт, пофиг какой регистр. но если он у тебя хранится как строка, то ты сам себе злобный буратино. Ступай в свою стихию - на ПТ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 03:13 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Antonariy, или читай выше, что ли... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 03:14 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
AxeleronСтупай в свою стихию - на ПТ слив засчитан ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 11:59 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Как всегда грабли у тех, кто собирает строку запроса, а не использует запрос с параметрами. Если параметру явно указан тип SqlDbType.UniqueIdentifier, то присваивать ему можно любое строковое представления GUID ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 14:51 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Promishanya3624пропущено... Единственный вариант?Это вариант исправить имеющийся недостаток алгоритма. То есть в алгоритме есть системная ошибка, которая заключается в том, что значение, которое будет распознано с помощью TryParse не обязательно может быть использовано для формирования sql запроса. В данном случае некорректно будет работать bit, real и uniqueidentifier. C datetime тоже будут серьезные проблемы, в частности могут быть перепутаны месяц и число. Фактически, можно рассчитывать, что только int отработает нормально. Где косячит мой копипастный мозг:)? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 17:34 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Вопрос в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 17:56 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProВопрос в чем? ТС при изучении языка пока не дошел до пункта "Запрос с параметрами" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 17:59 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, Shocker.ProТак что преобразовывай строку в guid, а потом форматируй обратно В преобразовании, что-то не так делаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 18:00 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Cat2, Это факт! А параметры указываются после cn.Open();, или все равно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 18:02 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Cat2Shocker.ProВопрос в чем? ТС при изучении языка пока не дошел до пункта "Запрос с параметрами"В данном случае это хорошее упражнение, чтобы осознать, что к чему. А то можно и запрос с параметрами не изучать, а сразу к EF перейти, не понимая основ. mishanya3624В преобразовании, что-то не так делаю...Я вообще сейчас не понимаю, что вы делаете. Нужно отделить этапы: 1) преобразовать из изначальной строки в конкретный тип 2) преобразовать из конкретного типа в строку ДЛЯ запроса обращаю внимание, что изначальная строка и конечная строка совпадать НЕ ОБЯЗАНЫ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 18:39 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
а по большому счету, я вообще не понимаю, зачем вам эти попытки определить тип исходя из строки. У вас есть конкретный столбец, в котором будет идти поиск. Этот столбец конкретного определенного типа. Так зачем пытаться искать guid в строке с целым значением? все равно он найден не будет. Опять же чревато косяками - пользователь может ввести пару цифр для поиска в текстовой строке, а оно опознается как int и что дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 18:42 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Proа по большому счету, я вообще не понимаю, зачем вам эти попытки определить тип исходя из строки. У вас есть конкретный столбец, в котором будет идти поиск. Этот столбец конкретного определенного типа. Так зачем пытаться искать guid в строке с целым значением? все равно он найден не будет. Опять же чревато косяками - пользователь может ввести пару цифр для поиска в текстовой строке, а оно опознается как int и что дальше? пользователю будут известны значения guid целиком, он должен копипастом просто найти данные по guid'у. А вкратце, где параметры указываются, при коннекте, или при создании коннекта, или перед запросом? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 22:40 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Shocker.Proа по большому счету, я вообще не понимаю, зачем вам эти попытки определить тип исходя из строки. У вас есть конкретный столбец, в котором будет идти поиск. Этот столбец конкретного определенного типа. Так зачем пытаться искать guid в строке с целым значением? все равно он найден не будет. Опять же чревато косяками - пользователь может ввести пару цифр для поиска в текстовой строке, а оно опознается как int и что дальше? пользователю будут известны значения guid целиком, он должен копипастом просто найти данные по guid'у.ваш ответ с моим вопросом ну никак не связан. зачем пользователю искать гуид в столбце, в котором его нет - неясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 23:21 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Promishanya3624пропущено... пользователю будут известны значения guid целиком, он должен копипастом просто найти данные по guid'у.ваш ответ с моим вопросом ну никак не связан. зачем пользователю искать гуид в столбце, в котором его нет - неясно. почему guid нет то, их там море в сотнях таблицах ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 23:52 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.ProПро параметры https://msdn.microsoft.com/ru-ru/library/cc280502(v=sql.120).aspx нет, как в sql работать с параметрами, я в курсе:) я не пойму где параметризироваться в коде c#, в каком месте мне эти параметры прописывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 23:56 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Shocker.Proпропущено... ваш ответ с моим вопросом ну никак не связан. зачем пользователю искать гуид в столбце, в котором его нет - неясно. почему guid нет то, их там море в сотнях таблицахтогда зачем вы пытаетесь обнаружить int, float и т.п.? Перечитайте внимательно мою мысль. Еще раз - вы выбираете из списка столбец, в котором будет осуществляться поиск. Этот столбец имеет какой-то определенный тип данных. Вы же пытаетесь отформатировать значение в запросе не в соответствии с типом данных столбца , а полагаясь автоматическое определения типа данных, которое пользователь ввел в текстбокс для поиска. Это полная ерунда. Само по себе автоматическое определение тоже не обязательно право. Как я уже говорил выше, если пользователь ввел 123 в поле поиска, это не обязательно означает, что он хочет искать число в числовом поле, он может хотеть искать фрагмент текста в текстовом поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:20 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Shocker.ProПро параметры https://msdn.microsoft.com/ru-ru/library/cc280502(v=sql.120).aspx нет, как в sql работать с параметрами, я в курсе:) я не пойму где параметризироваться в коде c#, в каком месте мне эти параметры прописывать?в sql-запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:20 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Shocker.ProПро параметры https://msdn.microsoft.com/ru-ru/library/cc280502(v=sql.120).aspx нет, как в sql работать с параметрами, я в курсе:) я не пойму где параметризироваться в коде c#, в каком месте мне эти параметры прописывать? жесть вся проблема в нежелании использовать параметры ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:52 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
:) я понимаю , что параметры надо использовать в запросе, но до этого момента, я же должен их как-то обозначить, дать им какое-то значение, вот это где надо прописывать, сам запрос я составлю, имея параметры. Shocker.Pro Дело в том, что поиск будет вестись не только по guid, который будет вводиться полностью, но и необходимо чтобы он искал и по словам (ФИО, название организации итд итп) поэтому необходимо автоопределение, чтобы он понимал, ввел guid ищет по guid ввел текст ищет только по тексту ввел число(сумма тех, или иных денег) ищет это число. pationжесть вся проблема в нежелании использовать параметры Да есть желание, надо только малость логики кода понять, где эти параметры определять и в каком виде, я так понял необходимо обозначать так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:14 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624ввел guid ищет по guid ввел текст ищет только по текстуГДЕ происходит этот поиск? в столбце типа int? Я не видел в вашем коде автоматического определения столбца поиска в зависимости от типа введенных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:31 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Да есть желание, надо только малость логики кода понять, где эти параметры определять и в каком виде, я так понял необходимо обозначать так:вам не нужна хранимая процедура, если вы используете запрос. Я дал ссылку, см. раздел "Использование параметров в предложениях WHERE" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:35 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624:) я понимаю , что параметры надо использовать в запросе, но до этого момента, я же должен их как-то обозначить, дать им какое-то значение, вот это где надо прописывать, сам запрос я составлю, имея параметры. Shocker.Pro Дело в том, что поиск будет вестись не только по guid, который будет вводиться полностью, но и необходимо чтобы он искал и по словам (ФИО, название организации итд итп) поэтому необходимо автоопределение, чтобы он понимал, ввел guid ищет по guid ввел текст ищет только по тексту ввел число(сумма тех, или иных денег) ищет это число. pationжесть вся проблема в нежелании использовать параметры Да есть желание, надо только малость логики кода понять, где эти параметры определять и в каком виде, я так понял необходимо обозначать так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
а что гугл и мсдн забанили? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:36 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Подскажите, что не так делаю? тестовое подключение по выборке по guid , пишет, что не может преобразовать значение из string в guid... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 02:58 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
а куда потерялось теперь Guid.Parse? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 11:11 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 15:15 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
и что изменилось? Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 15:36 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо тебе ГУРУ!:) Все получилось, ищет по всему, кроме datetime, что не так(уже и по разному парсить пробовал, никак не хочет)? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 17:17 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624Все получилосьЯ всё еще не вижу смысла парсить значение два раза. Лишнее телодвижение и повторяющийся код в разных методах. Повторяющийся код в if-ах нужно вынести в отдельный метод. mishanya3624кроме datetime, что не так(уже и по разному парсить пробовал, никак не хочет)документацию по Datetime.Parse в зубы и вперед ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 17:33 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624ищет по всему, кроме datetime, что не так(уже и по разному парсить пробовал, никак не хочет)? Задать правильную культуру (формат даты) на парсинге в DateTime. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 17:33 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Код: c# 1.
Вроде такой формат, но все равно пустую строку возвращает... формат даты такой - 13.10.2008 11:15:07 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 21:33 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624все равно пустую строку возвращаетзапрос пустую строку возвращает? А вы уверены, что в базе есть даты, совпадающие с точностью до миллисекунды с указанной? Как вообще дата попадает в поле базы? Если через datetime() (sql) или через DateTime.Now (c#), то таким образом вы нужную строку не найдете, так как дата в этом случае с миллисекундами. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 21:59 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Pro, это все с тестовой Adventures2012, дата там при создании автоматом ставится getdate ,пробовал и где есть миллисекунды и где нет... В общем плюнул на парсинг даты и сделал старым добрым запросом, но все же интересно, почему не парсился... Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 22:44 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Promishanya3624Все получилосьЯ всё еще не вижу смысла парсить значение два раза. Лишнее телодвижение и повторяющийся код в разных методах. Повторяющийся код в if-ах нужно вынести в отдельный метод. mishanya3624кроме datetime, что не так(уже и по разному парсить пробовал, никак не хочет)документацию по Datetime.Parse в зубы и вперед если я не буду парсить 1 раз , то не смогу делать условия по типам(конечно же я думаю, что щас ахинею сказал), поэтому можно чуть развернутей, как убрать 1 парсинг, чтобы оставить, только в параметрах sql ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 22:48 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
mishanya3624конечно же я думаю, что щас ахинею сказалконечно, ведь есть такая штука как GetType(). Поэтому, пусть parseinput возвращает object, в котором будет уже распарсенное значение. Я это говорил еще на первой странице топика. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2016, 23:13 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Shocker.Promishanya3624конечно же я думаю, что щас ахинею сказалконечно, ведь есть такая штука как GetType(). Поэтому, пусть parseinput возвращает object, в котором будет уже распарсенное значение. Я это говорил еще на первой странице топика. и это готовое значение, я просто подставляю в sqlparameters вместо парсинга Value=Guid.Parse(....) на Value = это значение? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2016, 17:39 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
блин, что-то не получается через объект распарсенные значения передать.... надо на свежую голову... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2016, 01:47 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
А как при запуске приложения сделать, чтобы открывалась другая Windows Form, а не та, которая при создании проекта создается? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 17:28 |
|
Поиск в базе по Guid
|
|||
---|---|---|---|
#18+
Project => Properties ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 17:32 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1400859]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 189ms |
0 / 0 |