开发者

Connecting to a SQL database in aspx, c#

I currently have an aspx page, that has a script that gathers data via phone line. The data is currently writing to a text file, which via a DTS job pumps to the database at the end of the night. What I need to is have the data from the aspx page be written to a database. Part of the problem I am having is I am unfamiliar as to how to write to a database when the aspx page solely contains a script. I have tried opening the connection before the script and after, with no luck. Any thoughts, suggestions, or link to documentation would be greatly appreciated.

Here is what I have so far:

<script language="C#" runat="server">

 public class SQLSproc
       {
           public static void Main()
           {
               string connectionString = "server=ABC;database=abc;uid=abc;pwd=1234";
               SqlConnection mySqlConnection = new SqlConnection(connectionString);
               string procedureString = "Callin_Insert";
               SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
               mySqlCommand.CommandText = procedureString;
               mySqlCommand.CommandType = CommandType.StoredProcedure;
               mySqlConnection.Open();
               mySqlCommand.ExecuteNonQuery();
               SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
               mySqlDataAdapter.SelectCommand = mySqlCommand;
               mySqlConnection.Close();

           }

       }

Boolean ParseXML(string XMLContent)
       {
         try
         {
           XmlDocument doc = new XmlDocument();
           doc.LoadXml(XMLContent);

           String MenuID, Duration, CallerID, CallID, DateAndTime, VoiceFileName;
           XmlNode TempNode;
           Byte[] VoiceFile;

           XmlElement root = doc.DocumentElement;
           XmlAttributeCollection attrColl = root.Attributes;

           //parse inbound values
           MenuID      = attrColl["menuid"].Value;
           Duration    = attrColl["duration"].Value;
           CallID      = attrColl["callid"].Value;
           CallerID    = attrColl["callerid"].Value;

           //writed parsed values to file
           StreamWriter w = File.AppendText(Request.MapPath("summaryincallISM.txt"));

           //w.Write(DateTime.Now.ToString("MM/dd/yyyy,HH:mm:ss"));

           w.Write(String.Format("\"{0:MM/dd/yyyy}\",\"{0:HH:mm:ss}\"", DateTime.Now));

           //w.WriteLine("MenuId: " + MenuID);
           //w.WriteLine("Duration: " + Duration);
           //w.WriteLine("CallId: " + CallID);
           //w.WriteLine("CallerId: " + CallerID);

           XmlNodeList NodeCount = doc.SelectNodes("/campaign/prompts/prompt" );
           foreach( XmlNode node in NodeCount)
           {
                attrColl = node.Attributes;

                //w.WriteLine("Prompt ID: " + attrColl["promptid"].Value);
                //w.WriteLine("Keypress : " + attrColl["keypress"].Value);
                //w.Write("," + attrColl["keypress"].Value);

                w.Write("," + "\"" + attrColl["keypress"].Value + "\"");

                if (node.HasChildNodes)
                {
                   TempNode = node.FirstChild;
                   attrColl = TempNode.Attributes;

                   //convert file to binary
                   VoiceFile = System.Convert.FromBase64String(TempNode.InnerText);
                   VoiceFileName = attrColl["filename"].Value;

                   //save file in application path
                   FileStream fs = new FileStream(Request.MapPath(VoiceFileName), FileMode.OpenOrCreate);
                   BinaryWriter bw = new BinaryWriter(fs);
                   bw.Write((byte[]) VoiceFile);
                   bw.Close();
                   fs.Close();

                   w.WriteLine("Filename : " + VoiceFileName);
                }
           }开发者_运维问答

 void Page_Load(object sender, System.EventArgs e)
       {
          try
          {
             String xmlcontent, PostResponse, campaign;
             Byte[] Bindata = Request.BinaryRead(Request.TotalBytes);

             string XML;
             XML = System.Text.Encoding.ASCII.GetString(Bindata);
             StreamWriter w = File.AppendText(Request.MapPath("xmlsummaryincall.txt"));
             w.WriteLine("--- "  + DateTime.Now + " ------------------------------------------------------");
             w.WriteLine(XML.Replace("<?xml version=\"1.0\"?>", ""));  //needed so ?xml tag will display as text
             w.WriteLine("");
             w.WriteLine("");          
             w.Close();

             if (!ParseXML(XML)) Response.Write("Failed");

           }
           catch (Exception error)
           {
             Response.Write(error.Message);
           }
       }

</script>


Since ASP.NET code doesn't use the standard static void Main() entrypoint, you'll need to put the code in Main somewhere else, like Page_Load.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜