Thứ nhất, tôi không thể sử dụng bất kỳ thủ tục hoặc chế độ xem được lưu trữ nào.
Tôi biết điều này có vẻ phản tác dụng, nhưng đó không phải là quy tắc của tôi.Chèn hoặc Cập nhật Bảng SQL với DataTable
Tôi có DataTable
, đầy dữ liệu. Nó có một cấu trúc được sao chép vào bảng SQL của tôi.
ID - NAME
Bảng SQL hiện đang có một chút dữ liệu, nhưng tôi cần đến nay cập nhật nó với tất cả các dữ liệu của DataTable
tôi. Nó cần phải UPDATE Bảng SQl nếu so khớp ID, hoặc ADD vào danh sách mà nó là duy nhất.
Có cách nào đơn giản chỉ thực hiện việc này trong ứng dụng WinForm của tôi không?
Cho đến nay, tôi có:
SqlConnection sqlConn = new SqlConnection(ConnectionString);
SqlDataAdapter adapter = new SqlDataAdapter(string.Format("SELECT * FROM {0}", cmboTableOne.SelectedItem), sqlConn);
using (new SqlCommandBuilder(adapter))
{
try
{
adapter.Fill(DtPrimary);
sqlConn.Open();
adapter.Update(DtPrimary);
sqlConn.Close();
}
catch (Exception es)
{
MessageBox.Show(es.Message, @"SQL Connection", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
DataTable:
DataTable dtPrimary = new DataTable();
dtPrimary.Columns.Add("pv_id");
dtPrimary.Columns.Add("pv_name");
foreach (KeyValuePair<int, string> valuePair in primaryList)
{
DataRow dataRow = dtPrimary.NewRow();
dataRow["pv_id"] = valuePair.Key;
dataRow["pv_name"] = valuePair.Value;
dtPrimary.Rows.Add(dataRow);
SQL:
CREATE TABLE [dbo].[ice_provinces](
[pv_id] [int] IDENTITY(1,1) NOT NULL,
[pv_name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_ice_provinces] PRIMARY KEY CLUSTERED
(
[pv_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
mã hiện tại của bạn nên làm các trick. Nó có lỗi với lỗi hay không âm thầm? Đây có phải là ASP.NET không? – Renan
Bạn có thể sử dụng LINQ không? – user1477388
@Renan, hiện tại, chỉ cần thêm các giá trị vào cuối bảng trước đó. - Có, tôi có thể sử dụng linq – TheGeekZn