Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2013, 17:39   #1
fhneh
Пользователь
 
Регистрация: 09.08.2009
Сообщений: 20
Восклицание [C#]База данных.Скрипт авторизации через C# (как на сайтах или что то по типу клиента )

Добрый день!Делаю программу - клиент.(что то по типу клиента стима ,но это неважно.)Использую MYSQL.Проблема даже не в компиляции кода ,а в исполнении программы.Вот исходники и скрины:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace mysql2
{
    public partial class Form1 : Form
    {
        string name;
        string pass;
        string email;
        string id;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            name = textBox1.Text;
            pass = textBox2.Text;
string CommandText = "SELECT id FROM  users WHERE name = " + name + " AND pass = "+pass + " LIMIT 1";
string Connect="Database=test;Data Source=localhost;User Id=root;Password=";
MySqlConnection myConnection = new MySqlConnection(Connect);
MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
myConnection.Open();
string id = myCommand.ExecuteScalar().ToString();
label1.Text = id;
myConnection.Close();

            }

    }
}
Скрин структуры бд :
Программа при запуске:
Результат ввода верных данных в текстбоксы:

В лабел1 при верных данных из бд должно вывести ид записи.
Еще 1 вопрос . Нужен аналог под C# следующей команды : mysql_num_rows($sqlzapros); (Эта из PHP)
Заранее спасибо.
fhneh вне форума Ответить с цитированием
Старый 15.10.2013, 17:53   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

правильно запрос надо составлять, да и ваще параметры юзать
eval вне форума Ответить с цитированием
Старый 15.10.2013, 20:32   #3
fhneh
Пользователь
 
Регистрация: 09.08.2009
Сообщений: 20
По умолчанию

можете исправить?я про с пхп пришел там полегче.
fhneh вне форума Ответить с цитированием
Старый 15.10.2013, 20:39   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

я бы не сказал что там легче..

а тут что исправлять, вы как строки сравниваете, хоть в пхп хоть где?
справку не читаете к тому же - что делает и когда применяют ExecuteScalar?
eval вне форума Ответить с цитированием
Старый 15.10.2013, 20:43   #5
fhneh
Пользователь
 
Регистрация: 09.08.2009
Сообщений: 20
По умолчанию

ExecuteScalar как я помню при выборки из бд используются и что то другое при сохранение в бд те разные команды.
fhneh вне форума Ответить с цитированием
Старый 15.10.2013, 21:29   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
string CommandText = "SELECT id FROM  users WHERE name = " + name + " AND pass = "+pass + " LIMIT 1";
string Connect="Database=test;Data Source=localhost;User Id=root;Password=";
MySqlConnection myConnection = new MySqlConnection(Connect);
MySqlCommand myCommand = new MySqlCommand(CommandText, myConnection);
myConnection.Open();
SqlDataReader rider= cmd.ExecuteReader();
label1.Text = rider.GetString(0);
myConnection.Close();
Вот так будет правильнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2013, 22:03   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

да нет, у него сам запрос неправильно формируется
про параметры ему надо почитать
eval вне форума Ответить с цитированием
Старый 15.10.2013, 23:48   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А-а-а. Ну да - окаймить ковычками или параметризировать:
Код:
string CommandText = "SELECT id FROM  users WHERE name = '" + name + "' AND pass = '"+pass + "' LIMIT 1";
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.10.2013, 13:23   #9
fhneh
Пользователь
 
Регистрация: 09.08.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А-а-а. Ну да - окаймить ковычками или параметризировать:
Код:
string CommandText = "SELECT id FROM  users WHERE name = '" + name + "' AND pass = '"+pass + "' LIMIT 1";
спасибо!Но вот как быть со 2ой частью вопроса?
fhneh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает скрипт PHP (База данных MySQL) bakhityar_s PHP 20 05.04.2012 20:55
Как создать или через что прокси сервер? serres Свободное общение 8 13.09.2010 13:08
Какой метод подключения лучше использовать для авторизации на сайтах? Blourid Работа с сетью в Delphi 3 13.03.2010 12:43
Общие принципы авторизации на удаленных сайтах. Квэнди Работа с сетью в Delphi 5 06.12.2009 09:46
обновление в блоге - Общие принципы авторизации на удаленных сайтах Pblog Обсуждение статей 0 24.04.2009 20:50