Tjek om data allerede er i anden tabel inden opdatering
HejJeg har brug for en programstump, som skal tjekke om en værdi i en tabel (SQL-Northwind) allerede eksistere. Hvis den ikke gør, så skal der gives en besked om, at den skal oprettes og og "scriptet" stopper. Hvis værdien allerede eksistere, så skal "scriptet" køre videre og en anden tabel skal opdateres med indtastede værdier.
Jeg har indsat "script" hvor Kvalfi opdateres, men jeg skal have tilføjet programstump, hvor der skal kontrolleres i tabellen om "KursusKode" førend opdatering kan ske:
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 Opgave7_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"
data source = .\sqlexpress;
integrated security = true;
database = Northwind
");
//Insert statement
string sqlins = @"
insert into Kvalfi(PersonaleNummer, KursusKode,År)
values(@PersonaleNummer, @KursusKode, @År) ";
SqlTransaction sqltrans = null;
try
{
// open connection
conn.Open();
//begin transaction
sqltrans = conn.BeginTransaction();
// create inser command
SqlCommand cmdins = conn.CreateCommand();
cmdins.CommandText = sqlins;
cmdins.Transaction = sqltrans;
cmdins.Parameters.Add("@PersonaleNummer",
System.Data.SqlDbType.NVarChar, 4);
cmdins.Parameters.Add("@KursusKode",
System.Data.SqlDbType.NVarChar, 5);
cmdins.Parameters.Add("@År",
System.Data.SqlDbType.NVarChar, 4);
// add customer
cmdins.Parameters["@PersonaleNummer"].Value = textBox1.Text;
cmdins.Parameters["@KursusKode"].Value = textBox2.Text;
cmdins.Parameters["@År"].Value = textBox3.Text;
cmdins.ExecuteNonQuery();
//COMMIT TRANSACTION
sqltrans.Commit();
// NO EX, TRANS COMMITTED, GIVE MESSAGE
MessageBox.Show("Transaction committed");
}
catch (System.Data.SqlClient.SqlException ex)
{
//roll back transaction
sqltrans.Rollback();
MessageBox.Show(
"Transaction rolled back\n" + ex.Message,
"Rollback Transaction");
}
catch (System.Exception ex)
{
MessageBox.Show("System Error\n" + ex.Message, "Error");
}
finally
{
//close connection
conn.Close();
}
}
}