|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
Здравствуйте, столкнулся с непреодолимой, на мой взгляд, проблемой. Надо сделать поиск по шаблону Like ‘primer%’ Хочу сделать запрос с переменной, но никак не пойму как это сделать Нижи, приведу часть кода для поиска. Me.SqlSelectCommand1.CommandText = "SELECT testtext FROM test WHERE (testtext LIKE @testtext)" Me.SqlSelectCommand1.Connection = Me.SqlConnection1 SqlDataAdapter1.SelectCommand.Parameters.Add(New Data.SqlClient.SqlParameter("@testtext", System.Data.SqlDbType.Char, 340)) SqlDataAdapter1.SelectCommand.Parameters("@testtext").Value = TextBox2.Text SqlConnection1.Open() SqlDataAdapter1.SelectCommand.ExecuteNonQuery() SqlConnection1.Close() SqlDataAdapter1.Fill(DsTest21) DataGrid2.DataBind() ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2004, 22:58 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
и в чем загвоздка то? ошибку дает или че? или textbox2.text+"%" написать нельзя? Radja ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 11:58 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
и в чем загвоздка то? ошибку дает или че? или textbox2.text+"%" написать нельзя? Radja Ничего не выходит. Мне нужно осуществить запрос такой Select test from mybase where @test like ‘den%’ Толька вместо ‘den%’ должна зодействованна переменная @test Как это сделать я пока не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 18:36 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
Ваша проблема на 100% вот в этом SqlDataAdapter1.SelectCommand.Parameters.Add(New Data.SqlClient.SqlParameter("@testtext", System.Data.SqlDbType .Char, 340)) На базу ушел запрос like '%str ' - смотрите Profiler. Но ведь это же не то что надо ! Используйте VarChar или правильно задайте длину строки !!! (340 - это для запаса ?) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 18:43 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
Имелась ввиду куча пробелов (340-1-длина строки) в параметре - они тут что то не отобразились ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 18:44 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
to maratic_net Толька вместо ‘den%’ должна, задействована переменная @test Как это сделать я пока не знаю Да, но ведь работает без ‘%’ просто с like Просто не понимаю, причем тут Char Ведь запрос работает он не показывает ошибок P.S Я недавно начал изучать asp.net поэтому не судите строго ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 19:39 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
Ну, во-первых Вы не прописали DataSource для DataGrid DataGrid2.DataSourse=DsTest21; А во-вторых я утверждаю, что даже так результат ничего не возвратит ! Вот так может быть что -то получится... c.Parameters.Add(New Data.SqlClient.SqlParameter("@testtext", System.Data.SqlDbType.VarChar, 340)) Или так c.Parameters.Add(new SqlParameter("@testtext",TextBox2.Text )) Смотрите select 'yes' where 'maratic' like 'marat%' - верно select 'yes' where 'maratic' like 'marat% (тут пробелы_____) ' - не верно! А у Вас так и происходит ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 22:33 |
|
Проблема с sql запросам
|
|||
---|---|---|---|
#18+
А еще зачем Вы как-то странно открываете соединение? Его можно не открывать (только для DataAdapter'a) SqlDataAdapter da = new SqlDataAdapter(command) da.Fill(DS); ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2004, 22:37 |
|
|
start [/forum/topic.php?fid=17&msg=32370934&tid=1354243]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 364ms |
0 / 0 |