|
|
|
intNumRows = Convert.ToInt32(com.ExecuteScalar()); เวลารันแล้วมันerrorตรงนี้คะ เกิดจากอะไรคะ |
|
|
|
|
|
|
|
Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace project
{
public partial class frmRegisternisit : Form
{
public frmRegisternisit()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void txtPassnisit_TextChanged(object sender, EventArgs e)
{
txtPasswordnisit.PasswordChar = '*'; //ทำให้ TextBoxPassword เป็น Mode Password
txtConfirmnisit.PasswordChar = '*'; //ทำให้ TextBoxConfirm เป็น Mode Password
}
private void btnOKnisit_Click(object sender, EventArgs e)
{
string strConn = "Data Source=localhost;Initial Catalog=Project;User ID=sa;Password=1234;";
SqlConnection Conn = new SqlConnection(strConn);
Conn.Open();
SqlCommand com;
String strSQL = "insert into Nisit (ID,Password,Fname,Lname,Faculty,Major,Room,tel,E-mail,Serial_number)" + "Values" +
" ('" + this.txtIDnisit.Text + "','" + this.txtPasswordnisit.Text + "','" + this.txtFnamenisit.Text +
"','" + this.txtLnamenisit.Text + "','" + this.cboFacnisit.SelectedItem + "','" + this.txtMajornisit +
"','" + this.txtRoomnisit.Text + "','" + this.txtTelnisit.Text + "','" + this.txtEmailnisit.Text +
"','" + this.txtSerialnumnisit.Text + "','" + this.txtBrandnisit.Text + "','" + this.txtColornisit.Text + "')";
com = new SqlCommand(strSQL, Conn);
int intNumRows = 0;
intNumRows = Convert.ToInt32(com.ExecuteScalar());
if (intNumRows > 0)
{
}
else
{
if (string.IsNullOrEmpty(this.txtIDnisit.Text))
{
MessageBox.Show("กรุณากรอกรหัสประจำตัว");
this.txtIDnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtPasswordnisit.Text))
{
MessageBox.Show("กรุณากรอกรหัสผ่าน");
this.txtPasswordnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtFnamenisit.Text))
{
MessageBox.Show("กรุณากรอกชื่อ");
this.txtFnamenisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtLnamenisit.Text))
{
MessageBox.Show("กรุณากรอกนามสกุล");
this.txtLnamenisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtTelnisit.Text))
{
MessageBox.Show("กรุณากรอกคณะ");
this.txtTelnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtMajornisit.Text))
{
MessageBox.Show("กรุณากรอกสาขา");
this.txtMajornisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtRoomnisit.Text))
{
MessageBox.Show("กรุณากรอกห้อง");
this.txtRoomnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtTelnisit.Text))
{
MessageBox.Show("กรุณากรอกเบอร์ติดต่อ");
this.txtTelnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtEmailnisit.Text))
{
MessageBox.Show("กรุณากรอกอีเมล");
this.txtEmailnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtSerialnumnisit.Text))
{
MessageBox.Show("กรุณากรอกSerial_num");
this.txtSerialnumnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtBrandnisit.Text))
{
MessageBox.Show("กรุณากรอกยี่ห้อโน้ตบุค");
this.txtBrandnisit.Focus();
return;
}
if (string.IsNullOrEmpty(this.txtColornisit.Text))
{
MessageBox.Show("กรุณากรอกสีโน้ตบุค");
this.txtColornisit.Focus();
return;
}
}
}
}
}
intNumRows = Convert.ToInt32(com.ExecuteScalar()); //เวลารันแล้วมันติดตรงนี้อ่าคะ มันเกิดจากอะไรคะ
Tag : .NET, Ms SQL Server 2005, Win (Windows App), C#
|
ประวัติการแก้ไข 2010-10-21 10:04:47
|
|
|
|
|
Date :
2010-10-21 09:52:31 |
By :
rimupare |
View :
1563 |
Reply :
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Error Message ว่าอะไรครับ
|
|
|
|
|
Date :
2010-10-21 09:56:57 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มาตอบนู๋หน่อย ย ย ย T^T
|
|
|
|
|
Date :
2010-10-21 10:23:33 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
executescalar ปกติมันส่งค่าเป็น int อยู่แล้วครับ ไม่จำเป็นต้องแปลง commend บรรทันนั้นทิ้งดูครับแล้วลองรันใหม่
|
|
|
|
|
Date :
2010-10-21 10:32:12 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไอ้ตัว '-' เนี้ย มัน Convert เป็น Int ไม่ได้นะครับ
|
|
|
|
|
Date :
2010-10-21 10:35:04 |
By :
3rds |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
insert ทำไมใช้ executescalar ล่ะครับ
เขาใช้ executenonquery แล้ว get rowaffect เอา
|
|
|
|
|
Date :
2010-10-21 10:44:38 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำตามที่ผมบอกแล้วยังละครับ
|
|
|
|
|
Date :
2010-10-21 11:48:36 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำตามแหละคะ ลบทิ้งไปแล้วคะ แล้วจะทำปุ้มบันทึกไงอ่าคะ
|
|
|
|
|
Date :
2010-10-21 11:50:57 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลบแต่ตรงนี้ intNumRows = Convert.ToInt32(com.ExecuteScalar()); น่ะครับ
|
|
|
|
|
Date :
2010-10-21 11:53:42 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลบเท่าที่บอกแล้วคะ แต่ยังทำปุ่มบันทึกไม่ได้อ่า
|
|
|
|
|
Date :
2010-10-21 12:32:30 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วยังขึ้น error เหมือนเดิมหรือป่าวครับ
|
|
|
|
|
Date :
2010-10-21 12:35:40 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปเที่ยวทะเลกันสนุกไหมครับ
executescalar ไม่ได้ return เป็น int นะครับ มัน return เป็น object
แล้วทำสั่ง insert ก็ไม่ได้ใช้ executescalar ด้วย เขียน c# ต้องระวังเรื่อง type มากๆ นะครับ
Code (C#)
private void btnOKnisit_Click(object sender, EventArgs e)
{
if (this.txtIDnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกรหัสประจำตัว");
this.txtIDnisit.Focus();
return;
}
if (this.txtPasswordnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกรหัสผ่าน");
this.txtPasswordnisit.Focus();
return;
}
if (this.txtFnamenisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกชื่อ");
this.txtFnamenisit.Focus();
return;
}
if (this.txtLnamenisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกนามสกุล");
this.txtLnamenisit.Focus();
return;
}
if (this.txtTelnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกคณะ");
this.txtTelnisit.Focus();
return;
}
if (this.txtMajornisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกสาขา");
this.txtMajornisit.Focus();
return;
}
if (this.txtRoomnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกห้อง");
this.txtRoomnisit.Focus();
return;
}
if (this.txtTelnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกเบอร์ติดต่อ");
this.txtTelnisit.Focus();
return;
}
if (this.txtEmailnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกอีเมล");
this.txtEmailnisit.Focus();
return;
}
if (this.txtSerialnumnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกSerial_num");
this.txtSerialnumnisit.Focus();
return;
}
if (this.txtBrandnisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกยี่ห้อโน้ตบุค");
this.txtBrandnisit.Focus();
return;
}
if (this.txtColornisit.Text == string.Empty)
{
MessageBox.Show("กรุณากรอกสีโน้ตบุค");
this.txtColornisit.Focus();
return;
}
string strConn = "Data Source=localhost;Initial Catalog=Project;User ID=sa;Password=1234;";
SqlConnection Conn = new SqlConnection(strConn);
StringBuilder Sb = new StringBuilder();
Sb.AppendLine("Insert Into [Nisit]");
Sb.AppendLine("([ID], [Password], [Fname], [Lname], [Faculty], [Major], [Room], [tel], [E-mail], [Serial_number])");
Sb.AppendLine("Values");
Sb.AppendLine("(@ID, @Password, @Fname, @Lname, @Faculty, @Major, @Room, @tel, @E-mail, @Serial_number)");
SqlCommand com = new SqlCommand(Sb.ToString(), Conn);
com.Parameters.AddWithValue("@ID", this.txtIDnisit.Text);
com.Parameters.AddWithValue("@Password", this.txtPasswordnisit.Text);
com.Parameters.AddWithValue("@Fname", this.txtFnamenisit.Text);
com.Parameters.AddWithValue("@Lname", this.txtLnamenisit.Text);
com.Parameters.AddWithValue("@Faculty", this.cboFacnisit.SelectedItem);
com.Parameters.AddWithValue("@Major", this.txtMajornisit);
com.Parameters.AddWithValue("@Room", this.txtRoomnisit.Text);
com.Parameters.AddWithValue("@tel", this.txtTelnisit.Text);
com.Parameters.AddWithValue("@E-mail", this.txtEmailnisit.Text);
com.Parameters.AddWithValue("@Serial_number", this.txtSerialnumnisit.Text);
//com.Parameters.AddWithValue("@xxx", this.txtBrandnisit.Text); <--- what
//com.Parameters.AddWithValue("@xxx", this.txtColornisit.Text); <--- what
try
{
Conn.Open();
int intNumRows = com.ExecuteNonQuery();
Conn.Close();
MessageBox.Show(string.Format("Success! Insert {0} rows.", intNumRows.ToString()));
}
catch (Exception ex)
{
MessageBox.Show(string.Format("Error: {0}", ex.Message));
}
}
|
ประวัติการแก้ไข 2010-10-21 12:43:08 2010-10-21 12:43:49
|
|
|
|
Date :
2010-10-21 12:42:31 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอกดบันทึกแล้วมันขึ้น
|
|
|
|
|
Date :
2010-10-21 13:04:49 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมพิมพ์ตกลงแหละ ตรงบรรทัดที่102 แก้เป็น
Code (C#)
com.Parameters.AddWithValue("@Major", this.txtMajornisit.Text);
|
|
|
|
|
Date :
2010-10-21 13:09:19 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วมันก่าขึ้นอีกแล้วคะ หาไม่เจอ ใช่ตรงE-mail มันพิมไม่ได้ป่าวคะ ต้องเขียนแบบนี้ป่าวอ่า Email
|
ประวัติการแก้ไข 2010-10-21 13:26:32
|
|
|
|
Date :
2010-10-21 13:21:46 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคะ พี่ๆใจดีกันทุกคนเลย __/\__
|
|
|
|
|
Date :
2010-10-21 13:32:08 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ออกตัวก่อนเลย
ถ้าจำไม่ผิด executescalar จะใช้กับคำสั่ง select จะ return เป็น object อย่างที่พี่ตังบอก
ส่วน insert update delete จะใช้ executenonquery จะ return ค่าเป็นจำนวน
|
|
|
|
|
Date :
2010-10-21 13:59:30 |
By :
noptalent |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//com.Parameters.AddWithValue("@xxx", this.txtBrandnisit.Text); <--- what
//com.Parameters.AddWithValue("@xxx", this.txtColornisit.Text); <--- what
มันอยู่กันคนละตารางคะ ต้องไปเชื่อม data diagram ก่อนใช่มั้ยคะ
|
|
|
|
|
Date :
2010-10-21 14:13:43 |
By :
rimupare |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็น fk เหรอครับ ที่เชื่อมกันร่ะ ถ้ายังไม่ได้ทำ relation ก็ต้องสั่ง insert อีกทีโดยอ้างอิงด้วย fk
|
|
|
|
|
Date :
2010-10-21 15:50:26 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|