-2
我的问题是,需要使用存储过程添加到我的表中的2个参数是来自2个其他表的值,我需要将这2个值更改为适当的值。SQL Server存储过程。插入表
我试图寻找我有的问题,但没有成功。
涉及3个表格:Movie
,AgeRestriction
和Price
。
表Movie
- MovieID,整型,PK
- 电影,VARCHAR(50)
- 持续时间,时间(0)
- AgeRestrictionID,整型,FK - 与所述ID连接AgeRestriction表
- PriceID,int,FK - 与价格表中的ID相关联
表AgeRestriction
:
- AgeRestrictionID,INT,PK
- AgeRestriction,诠释
表Price
:
- PriceID,INT,PK
- 价格,诠释
我添加的2个值是AgeRestriction
表中的值(AgeRestriction, int
)和Price
表中的(Price, int
)。
这是我需要插入我得到的值Movies
表中的值。
public void InsertMovie(Movie movie)
{
using (SqlConnection conn = CreateConnection())
{
try
{
SqlCommand cmd = new SqlCommand("dbo.AddMovie", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Movie", SqlDbType.NVarChar, 50).Value = movie._movie;
cmd.Parameters.Add("@Duration", SqlDbType.Time, 0).Value = movie.Duration;
cmd.Parameters.Add("@AgeRestriction", SqlDbType.Int, 50).Value = movie.AgeRestriction;
cmd.Parameters.Add("@Price", SqlDbType.Decimal, 50).Value = movie.Price;
conn.Open();
cmd.ExecuteNonQuery();
}
catch
{
throw new ApplicationException("An error occured in the data access layer.");
}
}
}
所以,我试图创建一个存储过程,可以做到这一切,但至今没有成功,所以我要问你们这里..
非常不清楚 - 存储过程是否已经存在?如果是,当它从Mgmt Studio运行时,它是否可以自行工作?或者您是否需要编写该存储过程的帮助?或者你有问题*调用存储过程从C#?请**澄清!** –
这些表中是否有任何标识列? –
我试图自己创建一个存储过程,但需要帮助才能创建一个可以工作的存储过程。我正在使用Visual Stuido 2013.是的,MovieRes,AgeRestriction表中的AgeRestrictionID和Price表中的PriceID是标识列。我需要帮助创建一个存储过程 – peppe11