ช่วยดูโค้ดให้หน่อยคับ ทำไมมันถึงไม่ดึงข้อมูลจากฐานข้อมุลมาแสดง
Code (C#)
command.Connection = Conn;
Conn.Open(); //<-- เพิ่มตรงนี้
dr = command.ExecuteReader();
Date :
2010-01-11 09:04:05
By :
tungman
ตามเม้นบนครับ ลองดักเออเร่อดู ในส่วนของการเปอดใช้งานดาต้าเบส ยังไม่ได้เปิดครับ แต่มี dr.Close(); ซะแล้ว
อิอิ
Date :
2010-01-11 09:20:39
By :
nongbreesh
ขอบคุณมากคับ
จะลองทำดูน่ะคับ
Date :
2010-01-11 09:44:31
By :
ling-keaw
มันยังติดerror อีกอ่าคับ
มันบอกให้กำหนดค่า The ConnectionString property has not been initialized.ตรงที่ Conn.Open();
งั้นผมเอาดค้ทั้งหมดลงน่ะคับ เผื่อผมลืมลงโค้ดตัวไหนไว้
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace CarBusiness
{
public partial class Sell : Form
{
public Sell()
{
InitializeComponent();
}
SqlCommand command = new SqlCommand();
StringBuilder sb = new StringBuilder();
SqlConnection Conn = new SqlConnection();
SqlDataReader dr;
private void Sell_Load(object sender, EventArgs e)
{
string strCon = "Data Source=.\\SQLExpress;Initial Catalog=car_business;Integrated Security=True";
SqlConnection Conn = new SqlConnection();
if (Conn.State == ConnectionState.Open)
{
Conn.Close();
MessageBox.Show("connect close");
}
Conn.ConnectionString =strCon;
Conn.Open();
lsvProductList.Columns.Add("รหัสสินค้า", 60, HorizontalAlignment.Left);
lsvProductList.Columns.Add("ชื่อสินค้า", 150, HorizontalAlignment.Left);
lsvProductList.Columns.Add("ราคาขาย", 65, HorizontalAlignment.Right);
lsvProductList.Columns.Add("จำนวน", 50, HorizontalAlignment.Right);
lsvProductList.Columns.Add("รวมเป็นเงิน", 70, HorizontalAlignment.Right);
lsvProductList.Columns.Add("สินค้าคงเหลือ", 70, HorizontalAlignment.Right);
lsvProductList.View = View.Details;
lsvProductList.GridLines = true;
lsvProductList.FullRowSelect = true;
txtAmount.ContextMenu = new ContextMenu();
txtProductID.ContextMenu = new ContextMenu();
this.txtCustomerName.Focus();
}
private void ClearCustomerData()
{
txtCustomerName.Text = "";
txtPhone.Text = "";
}
private void ClearProductData()
{
txtProductID.Text = "";
lblProductName.Text = "";
lblSalePrice.Text = "0";
txtAmount.Text = "1";
lblTotal.Text = "0";
lblbalance.Text = "";
}
private void CalculateTotal()
{
double Total;
Total = (double.Parse(lblSalePrice.Text)) * int.Parse(txtAmount.Text);
lblTotal.Text = Total.ToString("#,##0.00");
}
private void CalculateNet()
{
int i = 0;
double tmpNetTotal = 0;
for (i = 0; i <= lsvProductList.Items.Count - 1; i++)
{
tmpNetTotal += double.Parse(lsvProductList.Items[i].SubItems[4].Text);
}
lblNet.Text = tmpNetTotal.ToString("#,##0.00");
}
private void txtProductID_KeyDown_1(object sender, KeyEventArgs e)
{
if (txtProductID.Text == "")
{
return;
}
if (e.KeyCode == Keys.Enter)
{
sb.Remove(0, sb.Length);
sb.Append("SELECT ProductID,Product,Price,ProductBalance");
sb.Append(" FROM Whouse");
sb.Append(" WHERE (ProductID=@ProductID)");
string sqlProduct = sb.ToString();
DataTable dtProduct;
command.CommandType = CommandType.Text;
command.CommandText = sqlProduct;
command.Parameters.Clear();
command.Parameters.Add("@ProductID", SqlDbType.Int).Value = int.Parse(txtProductID.Text);
command.Connection = Conn;
//ConnectionString = ;
Conn.Open();
dr = command.ExecuteReader();
if (dr.HasRows)
{
dtProduct = new DataTable();
dtProduct.Load(dr);
txtProductID.Text = dtProduct.Rows[0]["ProductID"].ToString();
lblProductName.Text = dtProduct.Rows[0]["ProductName"].ToString();
lblSalePrice.Text = dtProduct.Rows[0]["UnitPrice"].ToString();
lblbalance.Text = dtProduct.Rows[0]["ProductBalance"].ToString();
CalculateTotal();
txtAmount.Focus();
}
else
{
MessageBox.Show("รหัสสินค้าที่คุณป้อน ไม่ถูกต้อง !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
ClearProductData();
txtProductID.Focus();
}
dr.Close();
}
}
private void cmdClear_Click(object sender, EventArgs e)
{
lsvProductList.Items.Clear();
lblNet.Text = "0";
txtProductID.Focus();
ClearCustomerData();
ClearProductData();
}
private void cmdAdd_Click(object sender, EventArgs e)
{
if ((txtProductID.Text == "") || (lblProductName.Text == ""))
{
txtProductID.Focus();
return;
}
if (int.Parse(txtAmount.Text) == 0)
{
txtAmount.Focus();
return;
}
int i = 0;
ListViewItem lvi;
int tmpProductID = 0;
for (i = 0; i <= lsvProductList.Items.Count - 1; i++)
{
tmpProductID = int.Parse(lsvProductList.Items[i].SubItems[0].Text);
if (int.Parse(txtProductID.Text.Trim()) == tmpProductID)
{
MessageBox.Show("คุณเลือกสินค้าซ้ำกัน กรุณาเลือกใหม่ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information);
ClearProductData();
txtProductID.Focus();
txtProductID.SelectAll();
return;
}
}
string[] anyData;
anyData = new string[] { txtProductID.Text, lblProductName.Text, lblSalePrice.Text, txtAmount.Text, lblTotal.Text, lblbalance.Text };
lvi = new ListViewItem(anyData);
lsvProductList.Items.Add(lvi);
CalculateNet();
ClearProductData();
cmdSave.Enabled = true;
txtProductID.Focus();
}
}
}
Date :
2010-01-11 14:46:40
By :
ling-keaw
Code (C#)
SqlCommand command = new SqlCommand();
StringBuilder sb = new StringBuilder();
SqlConnection Conn = new SqlConnection();
SqlDataReader dr;
private void Sell_Load(object sender, EventArgs e)
{
string strCon = "Data Source=.\\SQLExpress;Initial Catalog=car_business;Integrated Security=True";
SqlConnection Conn = new SqlConnection(); //<-- ประกาศซ้ำ
if (Conn.State == ConnectionState.Open)
{
Conn.Close();
MessageBox.Show("connect close");
}
Conn.ConnectionString =strCon;
Conn.Open();
Date :
2010-01-11 14:52:17
By :
tungman
เง้อ
แก้Errorไม่หมดซะทีมันบอกว่า
ตรงบันทัด Conn.ConnectionString = strCon;--> Not allowed to change the 'ConnectionString' property. The connection's current state is open. แกงัยอ่าคับ
ไม่ไหวแล้ว รบกวนด้วยน่ะคับ
Date :
2010-01-11 15:47:47
By :
ling-keaw
Code (C#)
DataTable dtProduct;
command.CommandType = CommandType.Text;
command.CommandText = sqlProduct;
command.Parameters.Clear();
command.Parameters.Add("@ProductID", SqlDbType.Int).Value = int.Parse(txtProductID.Text);
command.Connection = Conn;
//ConnectionString = ;
Conn.Open(); //<-- เอานั้นนี้ออก เพราะข้างบน open ไว้แล้ว
dr = command.ExecuteReader();
if (dr.HasRows)
{
dtProduct = new DataTable();
dtProduct.Load(dr);
Date :
2010-01-11 16:20:41
By :
tungman
ขอบคุณมากคับ
,,
,,,
,,,,
Total = (double.Parse(lblSalePrice.Text)) * int.Parse(txtAmount.Text); ต้องเขียนรูปแบบไหนคับถึงจะถูกเพราะมันแจ้งว่า Input string was not in a correct format.
Date :
2010-01-11 16:43:13
By :
ling-keaw
Load balance : Server 04