c#语言 用Update语句更新sqlce数据库的表里的内容不成功
实现功能是点击button2显示数据至几个textbox,点击button3 update 一些字段值,点击button4 显示改变以后的内容显示的内容都是修改成功,但是源数据库内容始终不变啊,纠结了一天了,请大侠们帮忙啊,万分感谢各位
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.Common;
using System.Data.SqlServerCe;
namespace DeviceApplication1
{
public partial class Form1 : Form
{
SqlCeConnection con = new SqlCeConnection(@"Data Source=\Program Files\DeviceApplication1\HDSQIS.sdf;Password=111");
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
//string Strsql = "SELECT Part_ID, Part_BatchNo, SO_Number, SO_Date, User_ID, EPC from StockOut";
string Strsql = "SELECT StockOut.Part_ID, StockOut.Part_BatchNo, StockOut.SO_Number, StockOut.SO_Date, StockOut.User_ID, StockOut.EPC, Part.Part_Name from StockOut inner join Part on Stockout.Part_ID = Part.Part_ID where StockOut.EPC = 2";
SqlCeDataAdapter sda = new SqlCeDataAdapter(Strsql, con);
DataTable dt = new DataTable();
sda.Fill(dt);
textBox1.Text = dt.Rows[0][0].ToString();
textBox2.Text = dt.Rows[0][1].ToString();
textBox3.Text = dt.Rows[0][2].ToString();
textBox6.Text = dt.Rows[0][5].ToString();
textBox7.Text = dt.Rows[0][3].ToString();
textBox8.Text = dt.Rows[0][4].ToString();
textBox9.Text = "物料号" + dt.Rows[0][0].ToString() + "批次号" + dt.Rows[0][1].ToString() + "数量" + dt.Rows[0][2].ToString();
textBox4.Text = dt.Rows[0][6].ToString();
}
private void button3_Click(object sender, EventArgs e)
{
string str = @"Data Source=\Program Files\DeviceApplication1\HDSQIS.sdf;Password=111";
int str2 = Convert.ToInt32(this.textBox3.Text);
int str3 = Convert.ToInt32(this.textBox5.Text);
int str4 = str2 - str3;
string str5 = this.textBox7.Text;
string str6 = this.textBox8.Text;
string str1 = "update StockOut set SO_Number='" + str4 + "',SO_Date ='" + str5.Trim() + "',User_ID='" + str6.Trim() + "' where EPC = 2";
SqlCeConnection con = new SqlCeConnection(str);
con.Open();
SqlCeCommand com = new SqlCeCommand(str1, con);
com.ExecuteNonQuery();
//int AffectRows = com.ExecuteNonQuery();
//if(AffectRows>0)
// MessageBox.Show("成功");//成功
//else
// MessageBox.Show("失败");//失败
//显示是成功的
Form1 form1 = new Form1();
form1.Show();
this.Hide();
MessageBox.Show("原库存量已修改,操作日期及操作人ID已输入");
con.Close();
}
private void button4_Click(object sender, EventArgs e)
{
string Strsql = "SELECT StockOut.Part_ID, StockOut.Part_BatchNo, StockOut.SO_Number, StockOut.SO_Date, StockOut.User_ID, StockOut.EPC, Part.Part_Name from StockOut inner join Part on Stockout.Part_ID = Part.Part_ID where StockOut.EPC = 2";
SqlCeDataAdapter sda = new SqlCeDataAdapter(Strsql, con);
DataTable dt = new DataTable();
sda.Fill(dt);
textBox1.Text = dt.Rows[0][0].ToString();
textBox2.Text = dt.Rows[0][1].ToString();
textBox3.Text = dt.Rows[0][2].ToString();
textBox6.Text = dt.Rows[0][5].ToString();
textBox7.Text = dt.Rows[0][3].ToString();
textBox8.Text = dt.Rows[0][4].ToString();
textBox9.Text = "物料号" + dt.Rows[0][0].ToString() + "批次号" + dt.Rows[0][1].ToString() + "数量" + dt.Rows[0][2].ToString();
textBox4.Text = dt.Rows[0][6].ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“hDSQISDataSet4.StockOut”中。您可以根据需要移动或移除它。
this.stockOutTableAdapter.Fill(this.hDSQISDataSet4.StockOut);
}
}
} --------------------编程问答-------------------- string str1 = "update StockOut set SO_Number='" + str4 + "',SO_Date ='" + str5.Trim() + "',User_ID='" + str6.Trim() + "' where EPC = 2";
在这句打断点 看看str1的值
是不是sql语句有问题 --------------------编程问答-------------------- string str1 = "update StockOut set SO_Number='" + str4 + "',SO_Date ='" + str5.Trim() + "',User_ID='" + str6.Trim() + "' where EPC = 2";
判断一下Cmd.ExecuteNonQuery()的返回值。
单步看看SQL语句 --------------------编程问答-------------------- 跟踪数据库 看看最终提交到数据库的sql语句
然后复制到查询分析器运行看看 --------------------编程问答-------------------- 看起来好像没啥问题,跟踪下吧。 --------------------编程问答-------------------- 没看到类成员变量con 在哪里Open的。 --------------------编程问答-------------------- 看起来好像没啥问题,跟踪下吧。 --------------------编程问答-------------------- 输出SQL语句,检查一下,把SQL语句拷贝到数据库管理工具中执行看有无错误
补充:.NET技术 , ASP.NET