相关疑难解决方法(0)

如何使用Entity Framework在Sql Server Express中获取下一个序列号?

现在的SQL Server 2012(包括SQL Server Express的2012)的SEQUENCE功能,就像Oracle作为解释在这里,这里这里.

我可以这样下一个sequence,SELECT NEXT VALUE FOR SeqName

但是我如何使用Entity Framework 5从我的代码中做到这一点?

entity-framework sql-server-2012 entity-framework-5

9
推荐指数
1
解决办法
6567
查看次数

"SqlParameterCollection只接受非null的SqlParameter类型对象,而不接受String对象"

我一直得到例外

The SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects
Run Code Online (Sandbox Code Playgroud)

,执行以下代码时:

string StrQuery;
            using (SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=SanFransiscoData;Integrated Security=True;Pooling=False"))
            {
                using (SqlCommand comm = new SqlCommand())
                {
                    comm.Connection = conn;
                    conn.Open();
                   // SqlParameter author = new SqlParameter("@author", dataGridView1.Rows[0].Cells[0].Value.ToString());
                    comm.Parameters.Add("@author", SqlDbType.VarChar);
                    comm.Parameters.Add("@title", SqlDbType.NVarChar);
                    comm.Parameters.Add("@genre", SqlDbType.VarChar);
                    comm.Parameters.Add("@price", SqlDbType.Float);
                    comm.Parameters.Add("@publish_date", SqlDbType.Date);
                    comm.Parameters.Add("@description", SqlDbType.NVarChar);
                    comm.Parameters.Add("@bookid", SqlDbType.VarChar);
                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        StrQuery = "INSERT INTO BooksData VALUES(@author,@title,@genre,@price,@publish_date,@description,@bookid)";
                        comm.Parameters.Add(dataGridView1.Rows[i].Cells[0].Value.ToString());
                        comm.Parameters.Add(dataGridView1.Rows[i].Cells[1].Value.ToString());
                        comm.Parameters.Add(dataGridView1.Rows[i].Cells[2].Value.ToString());
                        comm.Parameters.Add(Convert.ToDecimal(dataGridView1.Rows[i].Cells[3].Value));
                        comm.Parameters.Add(Convert.ToDateTime(dataGridView1.Rows[i].Cells[4].Value));
                        comm.Parameters.Add(dataGridView1.Rows[i].Cells[5].Value.ToString());
                        comm.Parameters.Add(dataGridView1.Rows[i].Cells[6].Value.ToString()); …
Run Code Online (Sandbox Code Playgroud)

.net c# database sql-server

9
推荐指数
4
解决办法
2万
查看次数