Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6305
Последний выпуск: 19.06.2015

Logen and Password Help Me Please

84K
04 декабря 2012 года
the dark Knight
4 / / 03.11.2012
i don't know What the Problem to sign in
Код:
public bool SearchUser(string Name, Guid Password)
        {
        bool flagResult = false;
            using (SqlConnection con = new SqlConnection(constring))
            {
           
                SqlCommand com = new SqlCommand("StoredProcedure4", con);
                com.CommandType = System.Data.CommandType.StoredProcedure;
 
                SqlParameter param = new SqlParameter();
                param.ParameterName = "@UName";
                param.Value = Name;
                param.SqlDbType = System.Data.SqlDbType.NVarChar;
                param.Direction = System.Data.ParameterDirection.Input;
                com.Parameters.Add(param);
 
                 param = new SqlParameter();
                 param.ParameterName = "@UPassword";
                 param.Value = Password;
                param.SqlDbType = System.Data.SqlDbType.NVarChar;
                param.Direction = System.Data.ParameterDirection.Input;
                com.Parameters.Add(param);
 
               
                try
                {
                   con.Open();
                    if (com.ExecuteNonQuery() == 1)
                        flagResult = true;
                }
                catch
                {
 
                }
                return flagResult;  
               
            }
         
            }
            }
    }
in Stored Procedurs


Код:
ALTER PROCEDURE dbo.StoredProcedure4
   
    (
    @UName nvarchar(50),
    @UPassword nvarchar (50)
   
    )
   
AS
 

    SELECT * FROM Users WHERE UserName = @UName AND
   
    cast (Password as nvarchar (50)) = @UPassword
 
   
 

    RETURN
my Logen


Код:
public partial class Logen : Form
    {
        DAL dal = new DAL();
     
        public Logen()
        {
            InitializeComponent();
        }
 
        private void login_Click(object sender, EventArgs e)
        {
           
                 if (dal.SearchUser(log.Text.Trim(),
        GetHashString(pass.Text.Trim())))
   
     
                this.DialogResult = DialogResult.OK;
            else
                this.DialogResult = DialogResult.No;
        }
 
        Guid GetHashString(string s)
        {
            byte[] bytevalue = Encoding.Unicode.GetBytes(s);
            MD5CryptoServiceProvider csp = new MD5CryptoServiceProvider();
 
            byte[] byteHash = csp.ComputeHash(bytevalue);
 
            string rez = string.Empty;
            foreach (byte b in byteHash)
 
                rez += string.Format("{0:x2}",b);
 
            return new Guid (rez);
 
        }
    }
        }
277
04 декабря 2012 года
arrjj
1.7K / / 26.01.2011
Eben was bei dir nicht arbeitet? Welche Fehler ausgibt?
385
04 декабря 2012 года
SomewherSomehow
477 / / 25.07.2004
Рискну предположить что для строковых параметров неплохо бы явно указать размер? Гляньте профайлером, с какими значениями параметров у вас вызывается хранимка.

Кстати, если звездочка (select *) используется не для сокращения в примере, а действительно взято из рабочего кода, рекомендуется заменить ее на явный список полей. И еще, непонятно, какого типа у вас Password? Может быть лучше изменить ему тип на nvarchar (50), на уровне схемы, это даст возможность построить более селективный индекс по логин+пароль и ускорить выполнение.
341
04 декабря 2012 года
Der Meister
874 / / 21.12.2007
Фо эни селект стейтмент ретён вэлье оф экзекьют-нон-куери() месод вилл олвейз би -1. Ю шуд юз экзекьютскэла() энд стоэд фанкшн ретёнин каунт оф рекордс инстэд.
Алле цу замме:
 
Код:
CREATE FUNCTION dbo.StoredFunction4(@UName nvarchar(50), @UPassword nvarchar (50)) RETURNS int
AS
BEGIN
    RETURN(SELECT COUNT(*) FROM Users WHERE Name = @UName AND cast (Password as nvarchar (50)) = @UPassword);
END;
 
Код:
//...
var command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "SELECT [dbo].[StoredFunction4](@UName, @UPassword);";

command.Parameters.Add("UName", SqlDbType.NVarChar, 50).Value = "test";
command.Parameters.Add("UPassword", SqlDbType.NVarChar, 50).Value = "test";

var result = 1.Equals(command.ExecuteScalar());
442
04 декабря 2012 года
REmindER
292 / / 23.03.2003
I think your problem is that Logen is not yours. It belongs to Norway essentially.
465
05 декабря 2012 года
QWERYTY
595 / / 25.03.2012
Цитата: Der Meister
Фо эни селект стейтмент ретён вэлье оф экзекьют-нон-куери() месод вилл олвейз би -1. Ю шуд юз экзекьютскэла() энд стоэд фанкшн ретёнин каунт оф рекордс инстэд.
...



И мутко всё это подсунуть, нравится мне его английский и всё тут )))

87K
05 декабря 2012 года
Cunning_Chinese
6 / / 05.12.2012
I have found you problem!!! The problem is that you are using Logen instead of Login!!1
465
06 декабря 2012 года
QWERYTY
595 / / 25.03.2012
Der Meister, что значит "Алле цу замме"?

с какого языка, как переводится?

Сори фо вэ аутор оф мисъуз ю пэйдж исъю
277
06 декабря 2012 года
arrjj
1.7K / / 26.01.2011
Цитата: QWERYTY
Der Meister, что значит "Алле цу замме"?

с какого языка, как переводится?

Сори фо вэ аутор оф мисъуз ю пэйдж исъю



alles zusammen

326
07 мая 2013 года
sadovoya
757 / / 19.11.2005
Все татары, кроме я?

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог