Код: Выделить всё
public void Prepare(object state)
{
DataTable _dt = new DataTable();
DataTable _dt_sms_result = new DataTable();
_dt = GetInfo();
if (_dt != null)
{
_dt_sms_result.Columns.Add("sms_id", typeof(int));
_dt_sms_result.Columns.Add("send_time", typeof(DateTime));
_dt_sms_result.Columns.Add("result", typeof(string));
foreach (DataRow dr in _dt.Rows)
{
bool status = sendMsg(dr["smsid"].ToString(), dr["number"].ToString(), dr["messagetxt"].ToString(), dr["from"].ToString(), dr["to"].ToString());
Thread.Sleep(1000);
DataRow lvlrow = _dt_sms_result.NewRow();
lvlrow["sms_id"] = dr["sms_id"];
lvlrow["send_time"] = DateTime.Now;
if (status)
lvlrow["result"] = "Message Sent";
else
lvlrow["result"] = "Sending Failed";
_dt_sms_result.Rows.Add(lvlrow);
}//end foreach
PushInfo(_dt_sms_result);
}
Код: Выделить всё
public DataTable GetInfo()
{
cmd.CommandText = "StoredProc_511";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@username", "******");
cmd.Parameters.AddWithValue("@authcode", "******");
DataTable dt = new DataTable();
try
{
Connect();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
catch (SqlException se)
{
MyLog.Write(new LogPacket(se, DateTime.Now));
return null;
}
finally
{
Disconnect();
}
return dt;
}
Код: Выделить всё
public void PushInfo(DataTable dt_sms_result)
{
int res = -1;
cmd.CommandText = "StoredProc_511";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@username", "*****");
cmd.Parameters.AddWithValue("@authcode", "*****");
SqlParameter tvpParam = cmd.Parameters.AddWithValue("@sms_result", dt_sms_result);
tvpParam.SqlDbType = SqlDbType.Structured;
try
{
Connect();
res = cmd.ExecuteNonQuery();
}
catch (SqlException se)
{
MyLog.Write(new LogPacket(se, DateTime.Now));
Disconnect();
}
finally
{
Disconnect();
}
}
Код: Выделить всё
SqlParameter tvpParam = cmd.Parameters.AddWithValue("@sms_result", dt_sms_result);
tvpParam.SqlDbType = SqlDbType.Structured;
Но я все еще запутался с логикой, где это следует заменить (с DT) , чтобы помочь мне с логикой () . Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/310 ... -procedure
Мобильная версия