Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. create table test_varbinary_table(
  2. id int not null IDENTITY PRIMARY KEY ,
  3. name varchar(256) not null,
  4. rows int not null,
  5. cols int not null,
  6. vb_data varbinary(max) null
  7. )
  8.  
  9. CREATE PROCEDURE insertData
  10. @name varchar(256),
  11. @rows int,
  12. @cols int,
  13. @data varbinary(max)
  14. AS
  15. BEGIN
  16. -- SET NOCOUNT ON added to prevent extra result sets from
  17. -- interfering with SELECT statements.
  18. SET NOCOUNT ON;
  19.  
  20. -- Insert statements for procedure here
  21. INSERT INTO test_varbinary_table
  22. (name, rows, cols, vb_data) VALUES (@name, @rows, @cols, @data);
  23. END
  24.  
  25. double[,] dblArySampleData = new double[2,3] { {7.0, 3.0, 1.3 }, {8.333, 4.1211, 8.999 } };
  26. var result = new byte[6 * sizeof(double)];
  27. Buffer.BlockCopy(dblArySampleData, 0, result, 0, result.Length);
  28.  
  29. try
  30. {
  31. using (SqlConnection conn = new SqlConnection(connString))
  32. {
  33. conn.Open();
  34. using (SqlCommand cmd = new SqlCommand("dbo.insertData", conn))
  35. {
  36. cmd.CommandType = CommandType.StoredProcedure;
  37. cmd.Parameters.AddWithValue("@name", "foo");
  38. cmd.Parameters.AddWithValue("@rows", 2);
  39. cmd.Parameters.AddWithValue("@cols", 3);
  40.  
  41. cmd.Parameters.AddWithValue("@data", result);
  42. cmd.ExecuteNonQuery();
  43. }
  44. conn.Close();
  45. }
  46. textBox1.Text = "No Failure!";
  47. } catch (Exception ex)
  48. {
  49. textBox1.Text = "Error: " + ex.Message;
  50. }
  51.  
  52. try
  53. {
  54. using (SqlConnection conn = new SqlConnection(connString))
  55. {
  56. conn.Open();
  57. SqlDataReader rdrMatrix = null;
  58. DataTable tblMatrix = new DataTable();
  59.  
  60. using (SqlCommand cmd = new SqlCommand("dbo.GetData", conn))
  61. {
  62. cmd.CommandType = CommandType.StoredProcedure;
  63. rdrMatrix = cmd.ExecuteReader(CommandBehavior.CloseConnection);
  64. tblMatrix.Load(rdrMatrix);
  65. String strResult = "";
  66. foreach (DataRow dr in tblMatrix.Rows)
  67. {
  68. byte[] retData = new byte[6 * sizeof(double)];
  69. String retName;
  70. retName = dr["name"].ToString();
  71. strResult += retName + "rn";
  72. retData = (byte[])dr["vb_data"]; // potential problem?
  73. Buffer.BlockCopy(retData, 0, dary, 0, dary.Length); // potential problem?
  74.  
  75. for (int ri = 0; ri< 2; ri++)
  76. {
  77. strResult += " ";
  78. for (int ci = 0; ci<3; ci++)
  79. {
  80. strResult += " " + dary[ri,ci] ;
  81. }
  82. strResult += "rn";
  83. }
  84.  
  85. strResult += "rn" ;
  86. }
  87. textBox1.Text = strResult;
  88. }
  89. conn.Close();
  90. }
  91. //textBox1.Text = "No Failure!";
  92. }
  93.  
  94. foo
  95. 0 0 0
  96. 0 0 0
  97. bar
  98. 0 0 0
  99. 0 0 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement