ไม่เข้าใจว่า error เพราะอะไรครับ ช่วยหน่อย "not all code paths return a value"
ผมไม่เข้าใจว่ามัน Error ตรงไหนอะครับ ใครทราบรบกวนหน่อยนะครับ
Code
Error 1 'PHTBilling.LoginForm.CheckLoginValidation()': not all code paths return a value D:\MS Visual Studio 2010 Projects\PHTBilling\PHTBilling\LoginForm.cs 97 22 PHTBilling
Code (C#)
private bool CheckLoginValidation()
{
string dbUsername, dbPassword;
conStr = @"Data Source=" + Database.dbServer + ";Initial Catalog=" + Database.dbName + ";Persist Security Info=True;User ID=" + Database.DecodeFrom64(Database.dbEncodedUsername) + ";Password=" + Database.DecodeFrom64(Database.dbEncodedPassword) + ";";
conn = new SqlConnection();
try
{
if (conn.State == ConnectionState.Open)
conn.Close(); // ถ้าค้างให้ปิดก่อน
else
{
conn.ConnectionString = conStr;
//MessageBox.Show("not ok");
conn.Open(); // เปิดการเชื่อมต่อฐานข้อมูล
}
string sqlCommandStr = "select UserId, Name1, Name2, UserName, PassWord, Email, PhoneNumber, Misc, IniSettings from tblUsers where UserName='" + txtUsername.Text + "' and PassWord = '" +Database.EncodeTo64(txtPassword.Text) + "';";
cmd = new SqlCommand(sqlCommandStr, conn);
SqlDataReader dr = cmd.ExecuteReader();
dbUsername = dr["UserName"].ToString();
dbPassword = dr["Password"].ToString();
if ((dbUsername == txtUsername.Text) && (dbPassword == Database.EncodeTo64(txtPassword.Text)))
{
UserAccount.UserId = dr["UserId"].ToString();
UserAccount.Name1 = dr["Name1"].ToString();
UserAccount.Name2 = dr["Name2"].ToString();
UserAccount.UserName = dr["UserName"].ToString();
UserAccount.PassWord = dr["PassWord"].ToString();
UserAccount.PhoneNumber = dr["PhoneNumber"].ToString();
UserAccount.Email = dr["Email"].ToString();
UserAccount.Misc = dr["Misc"].ToString();
UserAccount.IniSettings = Convert.ToInt16(dr["IniSettings"]);
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
MessageBox.Show("Error from CheckLoginValidation()=" + ex.Message);
}
finally
{
conn.Close();
}
}
เรียกใช้จาก
Code (C#)
private void btnLogin_Click(object sender, EventArgs e)
{
if (CheckLoginValidation())
{
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageBox.Show("ชื่อผู้ใช้หรือรหัสผ่านผิดพลาด","ลงชื่อเข้าใช้",MessageBoxButtons.OK,MessageBoxIcon.Error);
return;
}
}
Tag : .NET, Win (Windows App), C#, VS 2010 (.NET 4.x), Windows
Date :
2012-10-09 12:30:17
By :
snowbell
View :
1308
Reply :
4
ผมเข้าใจว่า ในฟังก์ชัน ไม่มีการรีเทิร์นค่า แต่ผมก็ส่งให้รีเทิร์นแล้วครับ ผมเลยงงว่ามัน error เพราะอะไรกันแน่
ขอบคุณมากๆครับ
Date :
2012-10-09 12:32:31
By :
snowbell
แก้ไขตามนี้ครับ
Code (C#)
ิbool
private bool CheckLoginValidation()
{
string dbUsername, dbPassword;
conStr = @"Data Source=" + Database.dbServer + ";Initial Catalog=" + Database.dbName + ";Persist Security Info=True;User ID=" + Database.DecodeFrom64(Database.dbEncodedUsername) + ";Password=" + Database.DecodeFrom64(Database.dbEncodedPassword) + ";";
conn = new SqlConnection();
try
{
if (conn.State == ConnectionState.Open)
conn.Close(); // ถ้าค้างให้ปิดก่อน
else
{
conn.ConnectionString = conStr;
//MessageBox.Show("not ok");
conn.Open(); // เปิดการเชื่อมต่อฐานข้อมูล
}
string sqlCommandStr = "select UserId, Name1, Name2, UserName, PassWord, Email, PhoneNumber, Misc, IniSettings from tblUsers where UserName='" + txtUsername.Text + "' and PassWord = '" +Database.EncodeTo64(txtPassword.Text) + "';";
cmd = new SqlCommand(sqlCommandStr, conn);
SqlDataReader dr = cmd.ExecuteReader();
dbUsername = dr["UserName"].ToString();
dbPassword = dr["Password"].ToString();
if ((dbUsername == txtUsername.Text) && (dbPassword == Database.EncodeTo64(txtPassword.Text)))
{
UserAccount.UserId = dr["UserId"].ToString();
UserAccount.Name1 = dr["Name1"].ToString();
UserAccount.Name2 = dr["Name2"].ToString();
UserAccount.UserName = dr["UserName"].ToString();
UserAccount.PassWord = dr["PassWord"].ToString();
UserAccount.PhoneNumber = dr["PhoneNumber"].ToString();
UserAccount.Email = dr["Email"].ToString();
UserAccount.Misc = dr["Misc"].ToString();
UserAccount.IniSettings = Convert.ToInt16(dr["IniSettings"]);
}
else
{
return false;
}
}
catch (Exception ex)
{
MessageBox.Show("Error from CheckLoginValidation()=" + ex.Message);
return false;
}
finally
{
conn.Close();
}
return true;
}
Date :
2012-10-09 16:37:07
By :
lee_latee
ขอบคุณครับ จะลองแก้ไขดูครับ พอดีมาใช้คนละเครื่อง
Date :
2012-10-10 07:42:17
By :
เป้
ได้แล้วครับ ผมเอาข้อมูลไปใส่ใน dataset แทน
ขอบคุณครับ
Date :
2012-10-11 08:32:23
By :
snowbell
Load balance : Server 02