在SQL Server中设置外键时,在什么情况下应该在删除或更新时级联它,背后的原因是什么?
这可能也适用于其他数据库.
我最关注每个场景的具体例子,最好是那些成功使用它们的人.
我有下面的代码运行的2个实例,它们连接到System.Data.SQLite数据库。当我使用任一实例将行插入数据库时,从其他实例读取时,自动递增的值(ID)不合适。这背后的原因是什么?
Imports System.Data.SQLite
Public Class Form1
Public cnn As SQLiteConnection
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
cnn = New SQLiteConnection("Data Source=\\abc\xx\x_backup.db;Password=password;Connect Timeout=55;FailIfMissing=True")
cnn.ParseViaFramework = True
cnn.Open()
End Sub
Public Function inserttoTable(ByVal sql As String) As DataTable
Try
sql = "SELECT max(ID) FROM joblog;"
Dim mycommand As SQLiteCommand = New SQLiteCommand(cnn)
mycommand.CommandText = sql
MsgBox(mycommand.ExecuteScalar)
sql = "INSERT INTO joblog (jobid) VALUES (123);"
mycommand = New SQLiteCommand(cnn)
mycommand.CommandText = sql
MsgBox(mycommand.ExecuteNonQuery())
Catch ex As Exception
MsgBox(ex.ToString)
End …Run Code Online (Sandbox Code Playgroud) 我有这个问题:我需要从我的.NET Core应用程序执行原始SQL.所以我有这个代码
var sqlConnection1 = new SqlConnection("Server=(localdb)\\mssqllocaldb;Database=MyDB;Trusted_Connection=True;MultipleActiveResultSets=true");
var cmd = new SqlCommand
{
CommandText = "SELECT * FROM dbo.Candidates WHERE id = " + model.CandidateId,
CommandType = CommandType.Text,
Connection = sqlConnection1
};
sqlConnection1.Open();
var wantedRow = cmd.ExecuteReader();
sqlConnection1.Close();
Run Code Online (Sandbox Code Playgroud)
我无法访问wantedRow中的数据...(当我使用Entity Framework时,此查询有效,但我无法使用Entity Framework).是否可以在.NET Core中使用?
.net ×1
.net-core ×1
c# ×1
cascade ×1
foreign-keys ×1
rdbms ×1
sql ×1
sql-server ×1
sqlite ×1
vb.net ×1