|
|
|
C# 2008 เชื่อมต่อฐานข้อมูล SQL 2005 ได้แต่เวลา insert ทำไมไม่ลงในฐานข้อมูลค่ะ |
|
|
|
|
|
|
|
ลองทดสอบก่อนนะคะว่า คอนเน็ค db ได้หรือเปล่า อาจลอง select ดูก่อนค่ะ
ถ้า select ได้ ลองดูว่าคำสั่ง Insert นั้นถูก format มั้ย ยังไงก็ลอง copy code มาให้ดูด้วยดีกว่านะคะ
|
|
|
|
|
Date :
2010-09-01 20:18:27 |
By :
njnight |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace test2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button5_Click(object sender, EventArgs e)
{
this.Close();
}
SqlConnection _conn = new SqlConnection();
SqlCommand comadd = new SqlCommand();
string strcon;
private void button1_Click(object sender, EventArgs e)
{
{
{
strcon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\TEST2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
string Sqlserch1 = "";
if (textBox1.Text == "") // ช่องที่ ต้องการใส่ คำหรือ รหัสที่ต้องการค้นหา ถ้ามีค่าว่าง
{
MessageBox.Show("กรุณากรอกข้อมูล", "ข้อความจากระบบ"); //โชว์ข้อความ
}
else //ถ้าไม่ว่าง
{
if (radioButton1.Checked == true)
{
Sqlserch1 = "select SID,SNAME,GPA,EMAIL,MOBILE,FACULTY.FNAME from STUDENT,FACULTY where STUDENT.FID = FACULTY.FID AND SID = '" + textBox1.Text + "'";
}
else
{
Sqlserch1 = "select SID,SNAME,GPA,EMAIL,MOBILE,FACULTY.FNAME from STUDENT,FACULTY where STUDENT.FID = FACULTY.FID AND SNAME = '" + textBox1.Text + "'";
}
SqlCommand Comserch1 = new SqlCommand();
try
{
if (_conn.State == ConnectionState.Open)
{
_conn.Close();
}
_conn.ConnectionString = strcon; //กำหนดให้เปิดการเชื่อมต่อ
_conn.Open();
Comserch1.CommandType = CommandType.Text;
Comserch1.CommandText = Sqlserch1;
Comserch1.Connection = _conn;
SqlDataAdapter da1 = new SqlDataAdapter(Sqlserch1, _conn); //การค้นหาต้องมี
DataSet ds1 = new DataSet(); // อันนี้ด้วย
da1.Fill(ds1, "STUDENT"); //เรียกข้อมูลเก็บไว้ใน da1 โดยตั้งชื่อให้กับมัน "tbl_member"
textBox1.Text = ds1.Tables[0].Rows[0][0].ToString();
textBox2.Text = ds1.Tables[0].Rows[0][0].ToString();
textBox3.Text = ds1.Tables[0].Rows[0][1].ToString();
textBox4.Text = ds1.Tables[0].Rows[0][3].ToString();
textBox5.Text = ds1.Tables[0].Rows[0][4].ToString();
textBox6.Text = ds1.Tables[0].Rows[0][2].ToString();
comboBox1.Text = ds1.Tables[0].Rows[0][5].ToString();
}
catch (Exception)
{
MessageBox.Show("ไม่พบข้อมูล", "555+");
}
finally
{
_conn.Close();
textBox1.Text = ""; //ทำให้เป็นช่องว่างๆ
}
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = ""; //ล้างช่องต่างๆๆ ให้ว่าง
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
textBox6.Text = "";
MessageBox.Show("กรุณาเพิ่มข้อมูลแล้วกดปุ่มบันทึกครับ", "(*_*)");
}
private void button4_Click(object sender, EventArgs e)
{
{
strcon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\TEST2.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
{
try
{
string sqladd;
long Affect = 0; // ประกาศตัวแปรในการเช็คว่ามีข้อมูลหรือไม่ หรือ จะประยุกต์ เป็นการแบบ บูลีน ก้ได้ แล้ว Return ค่ามาครับ
if (_conn.State == ConnectionState.Open) //เช็คว่ามีการเชื่อมต่อฐานข้อมูลอยู่รึปล่าว
{
_conn.Close();
}
else
{
_conn.ConnectionString = strcon; //กำหนดให้เปิดการเชื่อมต่อ
_conn.Open();
sqladd = "INSERT INTO STUDENT (SID,SNAME,GPA,EMAIL,MOBILE,FID)";
sqladd += "VALUES (@SID, @SNAME, @GPA, @EMAIL, @MOBILE, @FID)";
try
{
SqlCommand comadd = new SqlCommand(sqladd, _conn);
comadd.Parameters.Clear();
comadd.Parameters.Add("@SID", SqlDbType.Char).Value = textBox2.Text;
comadd.Parameters.Add("@SNAME", SqlDbType.VarChar).Value = textBox3.Text;
comadd.Parameters.Add("@EMAIL", SqlDbType.VarChar).Value = textBox4.Text;
comadd.Parameters.Add("@MOBILE", SqlDbType.VarChar).Value = textBox5.Text;
comadd.Parameters.Add("@GPA", SqlDbType.Real).Value = textBox6.Text;
comadd.Parameters.Add("@FID", SqlDbType.Char).Value = comboBox1.SelectedValue;
if (_conn.State == ConnectionState.Open) //เช็คว่ามีการเชื่อมต่อฐานข้อมูลอยู่รึปล่าว
{
_conn.Close();
}
_conn.ConnectionString = strcon; //กำหนดให้เปิดการเชื่อมต่อ
_conn.Open();
comadd.CommandType = CommandType.Text;
comadd.CommandText = sqladd;
comadd.Connection = _conn;
Affect = comadd.ExecuteNonQuery();
}
catch (Exception a)
{
MessageBox.Show("เกิดข้อผิดพลาด " + a.Message, "ข้อความจากระบบ");
}
finally
{
_conn.Close();
if (textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || comboBox1.Text == "" || textBox5.Text == "" || textBox6.Text == "")
{
MessageBox.Show("ทำงานไม่สำเร็จ");
}
else
{
MessageBox.Show("บันทึกข้อมูลเรียบร้อยแล้ว");
}
}
}
}
finally
{
_conn.Close();
}
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'tEST2DataSet1.FACULTY' table. You can move, or remove it, as needed.
this.fACULTYTableAdapter1.Fill(this.tEST2DataSet1.FACULTY);
// TODO: This line of code loads data into the 'tEST2DataSet.STUDENT' table. You can move, or remove it, as needed.
this.sTUDENTTableAdapter.Fill(this.tEST2DataSet.STUDENT);
}
}
}
เอาให้ดูหมดเลยนะค่ะ แต่เราเพิ่มข้อมูลมันก็บอกว่าบันทึกข้อมูลเรียบร้อยแล้ว search ก็เจอนะแต่ปิดโปรแกรมกลับไม่เจอค่ะ
|
|
|
|
|
Date :
2010-09-01 20:42:38 |
By :
โอ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|