在SQL Server中创建一个表,其中名称是C#中的一个变量?

在SQL Server中创建一个表,其中名称是C#中的一个变量?,c#,sql-server,C#,Sql Server,使用VisualStudio和SSMS 我有一个用户注册用户名的表单,它的存储方式如下: List<SqlParameter> sqlNewTable = new List<SqlParameter>(); sqlNewTable.Add(new SqlParameter("Username", txtUser.Text)); DAL.ExecSP("CreateUserCourses", sqlNewTable); List sqlNewTable=newlist()

使用VisualStudio和SSMS

我有一个用户注册用户名的表单,它的存储方式如下:

List<SqlParameter> sqlNewTable = new List<SqlParameter>();
sqlNewTable.Add(new SqlParameter("Username", txtUser.Text));
DAL.ExecSP("CreateUserCourses", sqlNewTable);
List sqlNewTable=newlist();
添加(新的SqlParameter(“Username”,txtUser.Text));
DAL.ExecSP(“CreateUserCourses”,sqlNewTable);
从那里,我可以创建一个名为
CreateUserCourses
的存储过程,在其中它可以创建一个新表,其中用户输入(他们的用户名)是一个新表的名称吗?

当然可以,但为什么

假设您有一个
用户
表和一个
课程
表。然后制作第三个表,将这些表映射到一起,称为
UserCourses
。这称为多对多(映射表),它将包含
用户
课程
的ID以及任何其他相关信息

这将使你的生活更加轻松

多对多关系是指 两个实体A和B之间的关系,其中A可以 包含在B和B中有许多子级的父实例 反之亦然

例如,将A视为作者,将B视为书籍。作家可以 写几本书,一本书可以由几个作者写

示例

student: student_id, first_name, last_name
classes: class_id, name, teacher_id
student_classes: class_id, student_id     // mapping table
SQL查询可能如下所示

让所有学生上一节课

SELECT s.student_id, last_name
FROM student_classes sc 
INNER JOIN students s ON s.student_id = sc.student_id
WHERE sc.class_id = X
var students = db.Students.Where(x => x.StudentClasses
                                       .Any(y => y.ClassId == 1);
为一个学生上所有的课

SELECT c.class_id, name
FROM student_classes sc 
INNER JOIN classes c ON c.class_id = sc.class_id
WHERE sc.student_id = Y
实体框架查询可能如下所示

让所有学生上一节课

SELECT s.student_id, last_name
FROM student_classes sc 
INNER JOIN students s ON s.student_id = sc.student_id
WHERE sc.class_id = X
var students = db.Students.Where(x => x.StudentClasses
                                       .Any(y => y.ClassId == 1);
为一个学生上所有的课

var classes = db.classes.Where(x => x.StudentClasses
                                     .Any(y => y.StudentId == 1);

是的,你可以。但为什么呢?总而言之,这是一个测试项目,你可以在其中查看你所学的课程。用户创建一个帐户,根据他们的用户名创建一个表,其中包含一份主课程列表,然后用户可以选择选项进行更改。我知道如何更改,但我不知道如何在SSMS中创建表并在Visual Studio中使用变量命名。您做过任何研究吗@努力尝试这会让你的生活变得非常艰难。在进一步使用这种方法之前,我建议您仔细阅读关系数据库。@Jeremythonpson谢谢。我试着用谷歌搜索我能搜索到的东西,但我猜我只是在做错事,没有用谷歌搜索正确的方式/我真的是数据库新手,所以我不知道如何做到这一点。。。我会调查的,谢谢。