Поделиться через


Листинг кода C# для BatchQueryFindAnEmp

В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

В нижеследующем образце создается BatchQueryFindAnEmp.

private void BatchQueryFindAnEmp_Click(System.Object sender, System.EventArgs e){   server.sql_endpoint proxy = new server.sql_endpoint ();   proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;   listBox1.Items.Add ("1) Executing batch.  ");   listBox1.Items.Add ("");   NativeSOAPApp1.server.SqlParameter[] p = new NativeSOAPApp1.server.SqlParameter[1];   p[0] = new NativeSOAPApp1.server.SqlParameter ();   p[0].name = "x";   p[0].Value = textBox1.Text;   p[0].maxLength = 20;   p[0].sqlDbType = NativeSOAPApp1.server.SqlDbType.Int;   p[0].direction = NativeSOAPApp1.server.ParameterDirection.Input;   if (textBox1.Text == "NULL" || textBox1.Text == "null")p[0].Value = null;   string s = "SELECT EmployeeID, FirstName, LastName " + "FROM Employee Where EmployeeID=@x  " + "FOR XML AUTO;";   object[] results = proxy.sqlbatch (s, ref p);// proxy.sqlbatch(s);   for (int j = 0; j < results.Length; j++)   {object e1;server.SqlMessage errorMessage;System.Xml.XmlElement xmlResult;//System.Data.DataSet resultDS;e1 = results[j];//return value from SP is an intif (e1.GetType ().IsPrimitive){   listBox1.Items.Add ("Return code = ");   listBox1.Items.Add (e1);}switch (e1.ToString ()){   case "NativeSOAPApp1.server.SqlRowCount":listBox1.Items.Add (e1.ToString ());listBox1.Items.Add (((NativeSOAPApp1.server.SqlRowCount)results[j]).Count);break;   case "System.Xml.XmlElement":xmlResult = (System.Xml.XmlElement)results[j];listBox1.Items.Add (xmlResult.OuterXml);break;   case "NativeSOAPApp1.server.SqlMessage":errorMessage = (server.SqlMessage)results[j];listBox1.Items.Add (errorMessage.Message);listBox1.Items.Add (errorMessage.Source);break;}   }}