Goran Bibic Ответов: 0

Выполнить скалярное имя столбца C#


If put in text box username (a) and password (a) app say invalid column name "a"
 
Last line problem....some help?

 korisnikId = Int32.Parse(myCommand.ExecuteScalar().ToString());


Что я уже пробовал:

private void prijava()  
        {  
              
  
            SqlConnection myConnection = new SqlConnection(cs);  
            String command = "SELECT id FROM osobe_korisnici where korisnicko_ime = " + korisnikTextBox.Text + "";  
            myConnection.Open();  
            SqlCommand myCommand = new SqlCommand(command, myConnection);  
            
            korisnikId = Int32.Parse(myCommand.ExecuteScalar().ToString()); 

Richard MacCutchan

В чем же проблема?

Goran Bibic

' " + korisnikTextBox.Text + " ' "; 


Это, но я решаю проблему

попробуйте решить эту проблему

Goran Bibic

Нужна строка для надписи


метод InitializeComponent();
korisnickoImeLabel.Текст = getKorisnickoIme();


В чем я ошибся?
Запрос в порядке


частная строка getKorisnickoIme()
{
SqlConnection myConnection = новый SqlConnection(cs);
String value = "SELECT ime_prezime FROM osobe_korisnici WHERE id='" + korisnikId + "'";
SqlCommand cmd = new SqlCommand(значение, myConnection);
myConnection.Открыть();
SqlDataReader rdr = cmd.Метода executereader();
значение;

}

Результат в метке есть
Выберите ime_prezime из osobe_korisnici, где id='10'


id равен 10, но мне нужно написать в метке имя и фамилию пользователя (ime_prezime)

Maciej Los

Горан, похоже, ты не хочешь учиться....
Мы уже несколько раз говорили вам, что вы должны использовать параметризованные запросы вместо сцепленной строки, чтобы избежать SQL-инъекции... Но вы по - прежнему игнорируете наши инструкции...
Плохая практика превращает вас в плохого программиста.

Goran Bibic

Я хочу учиться

Maciej Los

Так почему же вы игнорируете наши комментарии?

Richard MacCutchan

Посмотри на этот код. Вы создаете оператор SELECT в value, а затем возвращаете его из своего метода. Вы игнорируете результаты вызова ExecuteReader.

Goran Bibic

Я решаю эту проблему в одиночку...

Goran Bibic

Спасибо

RedDk

Если вы действительно хотите использовать эту строку конкатенации, вы можете это сделать, и это очень просто. Но что касается изучения TSQL и разбирания в строковых операторах, которые будут иметь приоритет в этом случае, то лучше всего получить SQL Server Express с Advanced (stuff), установить его ... а также скачать BOL (Book-on-Line) для любой версии, которую вы выберете.

Выполнение SQL-вещей, таких как использование строки подключения для sheboogle базы данных, прекрасно с C# ... не поймите меня неправильно. Но документация TSQL в BOL не может быть превзойдена. (Кроме того, пока я думаю об этом, загрузите образец данных AdventureWorks ... есть много этого примера, разбросанного по всему болу, и нет ничего, что они там не делают, что не может быть сделано любым новичком, решительно взявшим этот навык.)

0 Ответов