|
|
|
คือผมส่งสัย เกี่ยวกับ vb ครับ ในเรื่องของการสร้าง Textbox ขึ้นมา แล้วส่งค่ามาเก็บ ยังฐานข้อมูลอะ |
|
|
|
|
|
|
|
ยังไงก้อไม่เหมือน php ค่ะ ถ้าเหมือนเราจะมี c# มี vb.net หรือมี asp.net มัยละคะ
แนวคิดค่อนข้างจะต่างหน่อย บางอย่างดีกว่าบางอย่างเรื่องมากกว่าค่ะ
แต่หลักการโดยทั่วไปของ app ที่โยงกับฐานข้อมูลมีประมาณนี้
CRUD - Create Read Update Delete และ Show Information
ใน .Net เรามีหลายวิธีในการเข้าถึง database ค่ะ ถ้าต่ำกว่า 3.0 จะเป็นการะใช้ CLASS
ของ ADO.NET หรือ .NET Provider หรือ ODBC โดยมากจะเขียนเป็น class แยกต่างหาก
ส่วนหลัง 3.0 เป็นต้นมาเราจะใช้ LINQ ( Language INtegrate Query) เป็นเครื่องมือค่ะ
สำหรับผู้เริ่มต้นที่มีประสบการณ์แล้ว เริ่มได้จากทั้งสองทางค่ะ
ส่วนการรับขส่งค่าให้ textbox ก้อเหมือนกันหมดค่ะ
|
|
|
|
|
Date :
2010-09-07 09:42:48 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอมี code ตัวอย่าง แบบ สั้น ๆๆให้ดูป่าว ครับ ผมอยากเห็น ตัว code หน่อยครับ แนะนำหน่อยนะครับ ขอบคุณมาก พอดีผมไม่ค่อยเข้าใจครับ
คือถ้าผมสร้าง Textbox 1 อัน แล้ว
ผมต้องการที่จะส่งค่าไป ผมควรประกาศยังไง ใน vb.net ครับ
|
|
|
|
|
Date :
2010-09-07 14:06:19 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (VB.NET)
Sql = " INSERT INTO Pay_salary(id_sa,id,caek,date_pay)VALUES ('" & TextBox2.Text & "','" & TextBox3.Text & "','" & um & "','" & DateTimePicker1.Text & "') "
Cmd = New SqlCommand(Sql, Cls.Con)
Rs = Cmd.ExecuteReader
|
|
|
|
|
Date :
2010-09-07 14:35:55 |
By :
novarsza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ ทั้งสองคนครับ
|
|
|
|
|
Date :
2010-09-07 15:53:58 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=======================================
SAMPLE DATABASE: MSSQLSERVER 2005
=======================================
DATABASE NAME: TEST
TABLE NAME: A1
ID:INT(AUTO)
NAME:NVARCHAR(MAX)
Code (C#)
//Class interface (Convention style)
string MyConnectionString = "Data Source=(local);Initial Catalog=Test;Integrated Security=SSPI;";
//CREATE
string mySqlCommandText = "INSERT [A1] ([NAME]) VALUES (@VAR_NAME);");
using( SqlConnection myConnection = new SqlConnection( MyConnectionString) )
{
try
{
SqlCommand myCommand = new SqlCommand(mySqlCommandText ,myConnection) ;
myCommand.Parameters.AddWithValue("@VAR_NAME" ,TextBoxAnyValue.Text.Trim() ) ;
myConnection.Open() ;
myCommand.ExecuteNoneQuery();
}
catch(Exception ex)
{
// trap error here
}
finally
{
if(myConnection != null) myConnection.Close();
}
}
//READ ONE VALUE
string mySqlCommandText = "SELECT [NAME] FROM [A1] WHERE [ID]=@VAR_ID;");
string keepStr = string.Empty ;
using( SqlConnection myConnection = new SqlConnection( MyConnectionString) )
{
try
{
SqlCommand myCommand = new SqlCommand(mySqlCommandText ,myConnection) ;
myCommand.Parameters.AddWithValue("@VAR_ID" ,IdValue ) ;
myConnection.Open() ;
object temp= myCommand.ExecuteScalar() ;
if (temp != null)
keepStr = System.Convert.ToString(temp) ;
}
catch(Exception ex)
{
// trap error here
}
finally
{
if(myConnection != null) myConnection.Close();
}
}
return keepStr ; // or any use
//READ All Entry Row
string mySqlCommandText = "SELECT * FROM [A1] WHERE [ID]=@VAR_ID;");
HashTable keepData = new HashTable();
using( SqlConnection myConnection = new SqlConnection( MyConnectionString) )
{
try
{
SqlCommand myCommand = new SqlCommand(mySqlCommandText ,myConnection) ;
myCommand.Parameters.AddWithValue("@VAR_ID" ,IdValue ) ;
// not require open connection
SqlDataAdapter myDataAdapter = new SqlDataAdapter ();
myDataAdaptor.SelectCommand = myCommand ;
DataTable myTable = new DataTable() ;
myDataAdaptor.Fill ( myTable ) ;
if(myTable.Rows.Count > 0)
foreach DataRow myRow in myTable.Rows
foreach DataColumn myColumn in myTable.Columns
keepData.Add(myColumn.ColumnName ,myRow[myColumn.ColumnName]) ;
}
catch(Exception ex)
{
// trap error here
}
finally
{
if(myConnection != null) myConnection.Close();
}
}
return keepData; // or any use
ประมาณนี้ค่ะ (เขียนยาวเดวหลุด ด้นสดค่ะไม่ได้ test อิอิ)
จะเห็นได้ว่ามีส่วนที่ซ้ำๆกันเยอะใน .Net แบบเดิมจึงนิยมเขียน class ที่ติดต่อกับ database ไว้เป็นแกนกลางแล้วเรียกใช้อีกที
ซึ่งเราเรียกว่า DAL ( Data Access Layer ) ซึ่งจะทำให้การเรียกใช้ค่อข้างจะสะดวก มีหลายเวอร์ชั่นค่ะ
แต่สำหรับการเริ่มต้น ก้อเขียน code แบบฝังส่วนเชื่อมต่อไปแบบนี้ก่อนค่ะ
ส่วน DataReader นั้นไม่แนะนำให้ใช้ค่ะเพราะเจอปัญหา unpredict error หลังจากที่ใช้ datareader แบบ executeReader
แบบต่อเนื่องและ/หรืออ่่านข้อมูลคราวละมากๆ
และ LINQ เอาไว้ตอนค่ำๆละกันค่ะจะไปวิ่งแระ^^
|
ประวัติการแก้ไข 2010-09-07 15:56:59 2010-09-07 15:58:42
|
|
|
|
Date :
2010-09-07 15:56:34 |
By :
blurEyes |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามอีกนิด ครับเกี่ยวกับการ สร้าง ฐานข้อมูล บน server ที่ติด มา ในตอนที่ ลง vb เราต้องทำยังไงบ้าง งง ครับ
|
|
|
|
|
Date :
2010-09-08 09:00:54 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สามารถจัดการกับ sql server express ที่ติดมากับ vs ได้โดย
1. ใช้ vs ตรง database explorer ให้ conect แล้วก็สามารถใช้จัดการได้แล้ว
2. ลง sql server management แล้วใช้งานผ่านเจ้านี่ซะ
|
|
|
|
|
Date :
2010-09-08 10:32:15 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้อ ครับ ขอบคุณมากครับ คุณ tungman ออกแนวงง ตรงมันไม่เหมือน กับ linux ที่ผมใช้อยู่ เลยไม่เข้าใจว่าจะสร้าง ยัง ไง ยังไงก็ขอบคุึณนะครับ
|
|
|
|
|
Date :
2010-09-08 12:03:55 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วเข้าใจของ linux ยังไง ว่ามาจะโยงให้เข้าเรื่องเอง
แต่งงว่ามันเกี่ยวไรกับ linux ฟ่ะ
|
ประวัติการแก้ไข 2010-09-08 12:11:29
|
|
|
|
Date :
2010-09-08 12:10:09 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555555 คือ ผมเป็น php ซึ่งใช้ linux เป็น server ไง ครับ แต่พอ มาเป็น server2003 หรือ เป็น server ที่มากับ vb ตอนติดตั้ง ผมเลยไม่ค่อยเข้าใจหลักการทำงานของ server2003 หรือที่ติดมา server ที่มากับ vb ครับ 55555555
|
|
|
|
|
Date :
2010-09-08 13:00:02 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
server 2003, linux = os
iis, apache = web server
mssql, mysql = database server
asp.net, php = tool
แยกให้ถูกด้วย มันไม่เหมือนกัน os ก็ os
------------------------------------------------------
มันก็เหมือนเราลง appserv นั่นแหละ มี php, apache, mysql + phpmyadmin
visual studio ก็เช่นกัน พอลงไปแล้วมันก็มี vb, c#, sql express
ซึ่ง sql express ก็เปรียบได้กับ mysql
เวลาเราต้องการจัดการกับ database เราก็ต้องลง sql management
เหมือนกับ mysql ที่ต้องลง phpmyadmin
|
|
|
|
|
Date :
2010-09-08 13:24:55 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ๋อเป็นแบบนี้นี่เอง อย่างนั้นมันก็เหมือนกัน เพียงแต่ สิ่งที่ใช้ run แตกต่างกันนี้เอง ครับ ตอบไวจริงๆๆๆๆๆ พึ่งหัดใหม่นะครับ เกี่ยวกับ ตระกูล .net เนี้ย ครับ อิอิอิอิอิ คงไม่ว่ากันนะครับ
|
|
|
|
|
Date :
2010-09-08 13:49:47 |
By :
SOUL |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|