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.
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论