พอจะมีวิธีอื่นที่จะสามารถ pass value ไปยัง function ใน webserver (web services) โดยไม่ต้องใช้ parameter เยอะขนาดนี้ไหมคับ
ผมอยากทราบวิธีวิธีอื่นที่จะสามารถ pass value ไปยัง function
ใน webserver โดยไม่ต้องใช้ parameter เยอะขนาดนี้ไหมคับ
อยากทำให้มันง่ายกว่านี้อะคับ อยากจะ pass value เพื่อที่จะไป store ใน database คับ
Code (C#)
[WebMethod()]
public DataTable SaveCustomer(string CusID,string CusName,string Mail,string CC,string Budget,string Used)
{
SqlConnection objConn = new SqlConnection();
SqlCommand objCmd = new SqlCommand();
SqlDataAdapter dtAdapter = new SqlDataAdapter();
DataSet ds = new DataSet();
DataTable dt = null;
string strConnString = null;
StringBuilder strSQL = new StringBuilder();
strConnString = "Server=BUILD-PC\\SQL2008R2;UID=sa;PASSWORD=simply10;database=mydatabase;Max Pool Size=400;Connect Timeout=600;";
//strSQL.Append(" SELECT * FROM customer ");
//strSQL.Append(" WHERE [CustomerID] = '" + strCusID + "' ");
strSQL.Append("INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) " + " VALUES " +
" ('" + CusID + "','" + CusName + "','" + Mail + "','" + CC + "','" + Budget + "','" + Used + "')");
objConn.ConnectionString = strConnString;
objConn.Open();
objCmd.Connection = objConn;
objCmd.CommandText = strSQL.ToString();
objCmd.CommandType = CommandType.Text;
dtAdapter.SelectCommand = objCmd;
dtAdapter.Fill(ds);
//dt = ds.Tables[0];
dtAdapter = null;
objConn.Close();
objConn = null;
return dt;
}
อันนี้เป็น code ของฝั่ง webserver ครับ
private void btnSave_Click(object sender, EventArgs e)
{
cusSave.getCustomerDetailSoapClient myCusSave = new cusSave.getCustomerDetailSoapClient();
DataTable dt = myCusSave.SaveCustomer(this.txtCusID.Text, this.txtName.Text, this.txtMail.Text, this.txtCC.Text, this.txtBudget.Text, this.txtUsed.Text);
//(this.txtCusID.Text,this.txtName.Text,
//this.txtMail.Text,this.txtBudget.Text,this.txtUsed.Text);
if (dt.Rows.Count > 0)
{
dt.Rows[0]["CustomerID"] = this.txtCusID.Text;
dt.Rows[0]["Name"] = this.txtName.Text;
dt.Rows[0]["Email"] = this.txtMail.Text;
dt.Rows[0]["CountryCode"] = this.txtCC.Text;
dt.Rows[0]["Budget"] = this.txtBudget.Text;
dt.Rows[0]["Used"] = this.txtUsed.Text;
//MessageBox.Show("Data has been added");
}
else
{
lblStatus.Visible = true;
this.lblStatus.Text = "Cannot add this record";
}
}
อันนี้เป็น code ของ ฝั่ง application form คับ
รบกวนผู้รู้ทีนะคับTag : .NET, Ms SQL Server 2008, Web (ASP.NET), C#, VS 2008 (.NET 3.x)
Date :
2012-12-10 23:49:31
By :
buildbuilt
View :
893
Reply :
6
ดูแล้วแบบนี้น่าจะง่ายสะดวกสุดแล้วน่ะครับ
Date :
2012-12-11 06:25:15
By :
mr.win
แล้วพอจะมีวิธีอื่นนอกจากนี้ไหมคับผม
Date :
2012-12-11 15:27:31
By :
buildbuilt
ไม่งั้นก็ทำเป็น DataSet ก่อนแล้วค่อยส่งไปครับ
ฝั่ง Server ก็อ่านข้อมูลออกมาใช้อีกที แต่ผมว่าวิธีที่ใช้อยู่ไม่วุ่ยวายนะ
Date :
2012-12-11 15:41:07
By :
Nameless
ถ้าเกิดจะทำเป็นแบบ dataset พอจะมีวิธีแนะนำไหมคับผม
Date :
2012-12-11 22:32:05
By :
buildbuilt
JSON ก็ได้ครับ สามารถส่งได้ รับได้
Date :
2012-12-11 22:48:24
By :
mr.win
เดี่ยวจะไปลองใช้ดูน้ะคับ
ขอบคุณมากๆคับ
:D
Date :
2012-12-12 09:28:27
By :
buildbuilt
Load balance : Server 02