如果我通过选择另一个项目来更改值,我会尝试将一个项目传递到工作表。即使我从未使用第一项调用工作表,工作表仍会继续显示第一项。
这是一个错误还是我做错了什么?
锻炼列表.swift
import SwiftUI
struct WorkoutList: View {
private var workouts = workoutData
@State var showWorkoutDetails = false
var body: some View {
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 20) {
ForEach(workouts) { workoutCard in
GeometryReader { geometry in
Button(action: {self.showWorkoutDetails.toggle()}) {
WorkoutCardView(workout: workoutCard)
.rotation3DEffect(Angle(degrees: Double((geometry.frame(in: .global).minX - 30) / -30)), axis: (x: 0, y: 10, z: 0))
.sheet(isPresented: self.$showWorkoutDetails) {
WorkoutDetails(workout: workoutCard)
}
}
}
.frame(width:246, height: 360)
}
}
.padding(30)
}
}
}
private let workoutData = [ …Run Code Online (Sandbox Code Playgroud) 我创建了一个游戏,但我想将用户保存到 SQL Server 数据库。但是一旦我关闭表格,所有记录都会丢失。但是,当我返回到不同的表单并且不关闭应用程序时,我会获得所有记录。
这是我的连接字符串app.config
Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\HighScores.mdf;Integrated Security=True
Run Code Online (Sandbox Code Playgroud)
代码:
connectionString = ConfigurationManager.ConnectionStrings["ChickenBlaster.Properties.Settings.user_dataConnectionString"].ConnectionString;
public SqlConnection conn;
string connectionString;
conn = new SqlConnection(connectionString);
conn.Open();
string query = ("INSERT INTO dbo.Highscore (id,naam) VALUES (@id, @sam)");
SqlCommand cmd = new SqlCommand(query, conn);
cmd.Parameters.AddWithValue("@id", id);
cmd.Parameters.AddWithValue("@naam", txtUsername.Text);
cmd.ExecuteNonQuery();
conn.Close();
Run Code Online (Sandbox Code Playgroud)