ดึงค่าจากอีกฟอร์มได้ไหมครับไม่ได้หมายถึงส่งค่าข้ามฟอร์มนะครับ
public static String strConnString = "abc";
ไปเลยก็ได้ครับถ้าค่าตรงนี้ไม่มีการเปลี่ยนแปลงค่าอะไร แต่ผมแนะนำถ้าจะใช้เก็บconnection sting ของเดต้าเบสแนะนำให้เก็บไว้ที่ app.config
นะครับเพราะเวลาเปลี่ยนจะได้ไม่ต้องbuild โปรแกรมนะครั[
Date :
2011-07-07 07:59:28
By :
thaining
app.config มันอยู่ตรงไหนครับ
Date :
2011-07-07 13:53:48
By :
hamzter
น่าจะหมายถึง setting.setting รึป่าวครับ แล้วจะเรียกใช้ยังไงครับ
Date :
2011-07-07 14:00:49
By :
hamzter
ภาพตัวอย่าง
เมื่อเราแก้ข้อมูลใดๆ ในหน้า Setting
VS จะไปจัดการ app.config ให้เราเองขอรับ
Date :
2011-07-07 14:46:44
By :
watcharop
ของผมเ็ป็น C# ครับลองหาดูแล้วมันใช้ไม่ได้บอกว่ามีค่าเป็น null
app.setting
<connectionStrings>
<add name="Panda.Properties.Settings.strConnn" connectionString="Server=localhost;User Id=root; Password=1234; Database=panda; Pooling=false"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
Code (C#)
using System.Configuration;
objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["strConn"].ConnectionString);
objConn.Open();
ผมadd referrence System.Configuration แล้ว using อีกทีแล้วเอาไปใช้
ถูกไหมครับ แต่ทำไมมันบอกเป็นค่า null
Date :
2011-07-07 14:51:23
By :
hamzter
ปกติเราจะไม่บันทึก password ใน Setting มิฉะนั้น User จะเห็นได้โดยง่าย
ดังนั้นเราต้องกำหนด Password ตอนโปรแกรมเริ่มทำงาน
(อย่าลืมเอา Save My.Setting on Shutdown ออกด้วยนะครับ
เขียนโปรแกรมง่ายๆ อย่างนี้เป็นต้น
Code (VB.NET)
Partial Friend Class MyApplication
Private Sub MyApplication_Startup(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
Dim CallCenterconstr As New System.Data.SqlClient.SqlConnectionStringBuilder(My.MySettings.Default("CallCenterConString"))
CallCenterconstr("Password") = "enter password here"
My.MySettings.Default("CallCenterConString") = CallCenterconstr.ToString
End Sub
End Class
ประวัติการแก้ไข 2011-07-07 14:58:34
Date :
2011-07-07 14:58:01
By :
watcharop
อันนี้ผมลองใช้เป็น String เฉยๆ ก็ยังเป็น null อยู่ครับ
Code (C#)
<applicationSettings>
<Panda.Properties.Settings>
<setting name="strTest" serializeAs="String">
<value>eieieieiei</value>
</setting>
</Panda.Properties.Settings>
</applicationSettings>
Code (C#)
private void Flogin_Load(object sender, EventArgs e)
{
string Tester = System.Configuration.ConfigurationManager.AppSettings["strTest"].ToString();
MessageBox.Show(Tester);
}
Date :
2011-07-07 15:00:36
By :
hamzter
ผมไม่มี Save My.Setting on Shutdown อะครับ
Date :
2011-07-07 15:04:20
By :
hamzter
VB เขียนอย่างนี้
Code (VB.NET)
Dim st As String = My.Setting.strTest
C# ใช้ทำนองเดียวกันนี้ไม่ได้เหรอครับ
Date :
2011-07-07 15:04:40
By :
watcharop
C# เรียกหา form ตรงๆไม่ได้ครับ
เห็นเขาใช้ แบบนี้กันอ่ะครับ
Code (C#)
System.Configuration.ConfigurationManager.AppSettings["strTest"].ToString();
Date :
2011-07-07 15:07:54
By :
hamzter
ตรง tab Application ของ C# กับ VB ไม่เหมือนกันอะครับ
ถ้าเป็น vb ของผมเป็นแบบนี้ครับ
Date :
2011-07-07 15:09:46
By :
hamzter
Encrypt and Decrypt ของคุณ d-day ดูเข้าใจยากจัง
แบบของคุณ หางอึ่ง ใช้กับสีกับStringได้แล้วขอบคุณครับ แต่ยังเรียกใช้ ConnectString ไม่ได้ัมันเป็น null
Date :
2011-07-07 18:47:16
By :
hamzter
ถ้าผมไปสร้างไฟล์ Class ใหม่แล้วไปเรียกใ้ช้ ConnectString จากในคลาสนั้นจะดีกว่าไหมครับ
Date :
2011-07-07 18:58:41
By :
hamzter
ไม่ดีมั้ง ลองค้นหา จาก MSDN จะดีกว่า
Date :
2011-07-07 19:00:55
By :
watcharop
ก็ถ้าเก็บไว้ที่ app.config แล้วผู้ใช้เห็นรหัสง่ายแล้ว
ทำ ConnectionString ตรง app.config ไว้มันก็ไม่ดีซิครับ
หรือมันต่างกับเราเรียกคลาสมาใช้เองยังไงครับผมไม่ค่อยเข้าใจหลักการ app.config
Date :
2011-07-07 19:15:54
By :
hamzter
ใน app.config จะมีเฉพาะข้อมูลว่า connect กับ Server อะไร ฐานข้อมูลอะไร User อะไร ส่วน password เอามาเติมที่หลังในโปรแกรม ตามวิธี VB ใน No.7
หรือบางคนก็ใช้วิธีอย่าง No.15
อย่างไรก็ตาม ถ้าไม่เข้าใจ อยากทำแบบไหน ก็ทำไปก่อนล่ะกันขอรับ
Date :
2011-07-07 20:42:25
By :
watcharop
ก็พยายามเข้าใจอยู่ครับ แต่อยากรู้มันแตกต่างกันไหมหรือมันมีอะไรเพิ่มเติม
Date :
2011-07-07 21:19:51
By :
hamzter
Load balance : Server 01