Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在SQL中按顺序插入表中的数据_C#_Sql Server 2008 - Fatal编程技术网

C# 如何在SQL中按顺序插入表中的数据

C# 如何在SQL中按顺序插入表中的数据,c#,sql-server-2008,C#,Sql Server 2008,考虑以下代码: public void Insertindb(int chnlNm, string Date, string Time, string Progname) { DbConnection db = new DbConnection(); db.connectionOpen(); SqlCommand cmd = new SqlCommand("INSERT INTO dbo.SchedulProgram (ChannelNumber,Date,Time,Pr

考虑以下代码:

public void Insertindb(int chnlNm, string Date, string Time, string Progname)
{
    DbConnection db = new DbConnection();
    db.connectionOpen();
    SqlCommand cmd = new SqlCommand("INSERT INTO dbo.SchedulProgram (ChannelNumber,Date,Time,ProgramName) VALUES(@chnlNm,@date,@time,@progname)", db.con);

    cmd.Parameters.Add(new SqlParameter("@chnlNm", chnlNm));
    cmd.Parameters.Add(new SqlParameter("@date",Date));
    cmd.Parameters.Add(new SqlParameter("@time", Time));
    cmd.Parameters.Add(new SqlParameter("@progname", Progname));
    Console.WriteLine("{0} {1} {2} {3}",chnlNm,Date,Time,Progname);

    cmd.ExecuteNonQuery();
    db.connectionClose();
}
我使用此代码在表中插入数据。它在表中插入数据。当我多次调用该函数时

sdb.Insertindb(channelno, date, time, programname)

它不按顺序在表中随机插入数据。我希望它按顺序插入数据。这怎么可能呢?

我不知道为什么评论说数据中没有“顺序”或“顺序”。 是的,表中有一个物理顺序,它由表的名称定义

聚集索引确定表中数据的物理顺序

检查这把小提琴:

既然您插入了日期和时间,这就是您所说的“一行接一行”的顺序吗

如果是这样,简单的解决方案是选择按这些列排序的

select chnlNm, Date, Time, Progname from dbo.SchedulProgram order by date, time

按顺序插入??什么序列?。在最后插入的行之后插入行。数据库中没有“序列”这样的东西。“序列”是在选择SQL中的表时定义的,表是无序的行集合。它们没有固有的顺序。对于任何特定查询,确定行返回顺序的唯一因素是应用于该查询的
order BY
子句。如何将order BY与insert query一起使用聚集索引确实存在,但它不能保证从表返回行的顺序。在小型表上,执行单个查询时,结果通常会以聚集索引顺序返回,但这并不能保证-如果没有
order by
子句,系统可以按照最方便的顺序自由返回行。例如,有关结果的演示(没有
order by
)以不同于聚集索引顺序的顺序返回。