Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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
结果,请确实使用。再一次,StackOverflow把我从学生时代的错误中拯救了出来。谢谢你,亚历克斯。上面附加了我用来测试的修改程序。 C#: private List<Record> GetListOfRecordsToProcess(s_C#_Mysql_Sql_Stored Procedures - Fatal编程技术网

结果,请确实使用。再一次,StackOverflow把我从学生时代的错误中拯救了出来。谢谢你,亚历克斯。上面附加了我用来测试的修改程序。 C#: private List<Record> GetListOfRecordsToProcess(s

结果,请确实使用。再一次,StackOverflow把我从学生时代的错误中拯救了出来。谢谢你,亚历克斯。上面附加了我用来测试的修改程序。 C#: private List<Record> GetListOfRecordsToProcess(s,c#,mysql,sql,stored-procedures,C#,Mysql,Sql,Stored Procedures,结果,请确实使用。再一次,StackOverflow把我从学生时代的错误中拯救了出来。谢谢你,亚历克斯。上面附加了我用来测试的修改程序。 C#: private List<Record> GetListOfRecordsToProcess(string exchange, string shareCode, DateTime lastProcessedDate, Indicator indicator) { List<Record> list =


结果,请确实使用。再一次,StackOverflow把我从学生时代的错误中拯救了出来。谢谢你,亚历克斯。上面附加了我用来测试的修改程序。
C#:
 private List<Record> GetListOfRecordsToProcess(string exchange, string shareCode, DateTime lastProcessedDate, Indicator indicator)
    {
        List<Record> list = new List<Record>();

        MySqlConnection conn = new MySqlConnection(Data.cs);
        MySqlCommand cmd = new MySqlCommand("get_records_to_process1", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Clear();
        cmd.Parameters.AddWithValue("@p_exchange", exchange);
        cmd.Parameters.AddWithValue("@p_share_code", shareCode);
        cmd.Parameters.AddWithValue("@p_from_date", lastProcessedDate);
        cmd.Parameters.AddWithValue("@p_num_days", (int)indicator);
        conn.Open();

        //Create MySqlDataAdapter object and assign the query and connection to it
        MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
        cmd.ExecuteNonQuery();

MySQL:
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_records_to_process1`(
p_exchange varchar(10),
p_share_code varchar(10),
p_from_date date,
p_num_days int)

BEGIN

-- variables
declare data_count int;

-- for debugging
declare counter int;
set counter = 1;

-- for debugging
call log_message_insert (5, concat(counter,' Start'));
set counter = counter + 1;
call log_message_insert (5, concat(counter, ' p_exchange: ', p_exchange, ',    p_share_code: ', p_share_code, ', p_from_date: ', p_from_date, ', p_num_days: ', p_num_days));
set counter = counter + 1;

-- find out if we have enough data to calculate the ema
select count(1) into data_count
  from eod_data_sharenet s1 
 where s1.exchange = p_exchange
   and s1.share_code = p_share_code;

if data_count < p_num_days then

  select *
    from eod_data_sharenet
   where 1 = 2; -- insufficient data, return nothing

else

  select *
from eod_data_sharenet eds
   where eds.exchange = p_exchange
     and eds.share_code = p_share_code
     and eds.trading_date > p_from_date;

end if;

END
private List<Record> GetListOfRecordsToProcess(string exchange, string shareCode, DateTime lastProcessedDate, Indicator indicator)
    {

        List<Record> list = new List<Record>();

        MySqlConnection connection = new MySqlConnection(Data.cs);

        using (connection)
        {
            MySqlCommand cmd = new MySqlCommand("get_records_to_process", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@p_exchange", exchange);
            cmd.Parameters.AddWithValue("@p_share_code", shareCode);
            cmd.Parameters.AddWithValue("@p_from_date", lastProcessedDate);
            cmd.Parameters.AddWithValue("@p_num_days", (int)indicator);
            connection.Open();

            MySqlDataReader reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    Record newRecord = new Record(Convert.ToDateTime(reader["trading_date"].ToString()),
                                                  reader["exchange"].ToString(),
                                                  reader["share_code"].ToString(),
                                                  Convert.ToInt32(Convert.ToDouble(reader["close"].ToString())));

                    list.Add(newRecord);
                }
            }
            else
            {
                Console.WriteLine("No rows found.");
            }
            reader.Close();
        }
        connection.Close();

        return list;
    }
private List<Record> GetListOfRecordsToProcess(string exchange, string shareCode, DateTime lastProcessedDate, Indicator indicator)
    {

        List<Record> list = new List<Record>();

        using (MySqlConnection conn = new MySqlConnection(Data.cs))
        {
            conn.Open();
            using (MySqlCommand cmd = new MySqlCommand("get_records_to_process", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@p_exchange", exchange);
                cmd.Parameters.AddWithValue("@p_share_code", shareCode);
                cmd.Parameters.AddWithValue("@p_from_date", lastProcessedDate);
                cmd.Parameters.AddWithValue("@p_num_days", (int)indicator);
                conn.Open();

                using (MySqlDataReader reader = cmd.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            Record newRecord = new Record(Convert.ToDateTime(reader["trading_date"].ToString()),
                                                          reader["exchange"].ToString(),
                                                          reader["share_code"].ToString(),
                                                          Convert.ToInt32(Convert.ToDouble(reader["close"].ToString())));

                            list.Add(newRecord);
                        }
                    }
                }
            }
        }
        return list;
    }