ADO.NET :: Saving Call Procedure For Multiple Records?
Aug 15, 2010
I am in the way to make an SQL server saving transactions. How to make MultipleSaveNewReadings function to perform the best performance for an SQL server saving call without closing/opening connection for each record saving? I don't need to merge the for-next loop into the saving function code but it's ok to get out some of the saving code to be in the for-next calling function.
I get the fol error: An exception of type 'System.Data.SqlClient.SqlException' Occurred in System.Data.dll but was not handled in user code..Subquery returned more than 1 value. This is not permitted When the subquery Follows =,! =, <, <=,>,> = Or When the subquery is used as an expression.
IF EXISTS (SELECT CustomerId FROM Customers where CustomerId= (SELECT Id FROM @tblCustomers )) UPDATE Customers SET Name=(SELECT Name FROM @tblCustomers ), Country=(SELECT Country FROM @tblCustomers ) WHERE CustomerId=(SELECT Id FROM @tblCustomers ); Else
I am trying to create the following stored procedure in sql server Lat and Lng are the parameters being passed from c# code behind .But I am not able to create this stored procedureit indicates with error saying undefined column name Lat,Lng
CREATE FUNCTION spherical_distance(@a float, @b float, @c float) RETURNS float AS BEGIN RETURN ( 6371 * ACOS( COS( (@a/@b) ) * COS( (Lat/@b) ) * COS( ( Lng/@b ) - (@c/@b) ) + SIN( @a/@b ) * SIN( Lat/@b ) ) ) END sqlda.SelectCommand.CommandText = "select *, spherical_distance( Lat, 57.2958, Lng) as distance from business [code]...
Initially, I have tried to use stored procedure. But I changed my mind and preferred to call sql query in codebase with command text. However, it stills tries to find initially-called stored procedure (which is neither called or exists).I think that it is related caching. But I tried it with different browsers it did not work.What might be the reason?
I have heard that saving connection strings and stored procedure names in web.config file of our application is not safe. It is a good practice to store the connection string in a config file rather than as a hard coded string in our code and if we need to change it,then it makes our job easier. how to protect our code in web.config?
I have an inventory page with a gridview that shows 1 item per record, each item starts with a checkbox in the gridview. Currently users can select multiple records and hit the order button and everything has worked well. Now I have multiple pages in my gridview, and if a user selects a few records from the first page, and then goes to the second page, all the records (checked checkboxes) disappear from the first page.
I am trying to design my logic to do this but I want to create a dataSet which will have records from several databases, The records all have the same layout.
I am reagin the connection string paths from a table in a database.
I am asking for your help in trying figure out my logic.
Should I use the connectionString builder in conjunction with a loop to Connect, read a record into a dataset Until therer are no more records to be read from my databse table with the database name/paths tables ?
Here is my beginning code which deals with one database:
I have created a viewmodel class for my custom page. I have a stored procedure which returns the DataTable(ORM tool). I cannot change this procedure. But I would like display the records from the stored procedure on View List. How can I display the values from the datatable in the List View?
public class CreateViewModel { [Required] public DateTime StartDate {get; set;} [Required] [StringLength(250, ErrorMessage = "Details must be less than 250 characters")] public string Details { get; set; } }
I'm executing an update stored procedure from LINQ to SQL and I need to know the records affected after the update is called. I'm using dbml designer to generate the LINQ code.
I am looking for a function or procedure in sql server which assists me in figuring out the records which is having Transposed numbers. E.g one record is having invoice number as 1234 and another record is having invoice number as 2134(this is the definition for transposed records for me). My another problem is that the length of invoice number is not known. It can be from 1 character to 15 characters or more than that.
I do not know why it did not return any records. I ran the sp , it return record. if I change the sp to DBComm.CommandType = CommandType.text and put the sp into the text.
It worked ,too. See below my sp.
Public Sub LoadCertification() 'Dim myConn As New SqlConnection Dim DBComm As New SqlCommand Dim ds As New DataSet If myConn.State = ConnectionState.Closed Then myConn.ConnectionString = ConfigurationManager.ConnectionStrings("NurProfileString").ConnectionString myConn.Open() End If Dim drCertification As SqlDataReader Try DBComm.Connection = myConn DBComm.CommandType = CommandType.StoredProcedure DBComm.Parameters.Add("@EmpID", SqlDbType.Int).Value = Session("EmplNO") 'tblNurProfileCertification ' http://www.shotdev.com/aspnet/aspnet-vbnet-gridview/aspnet-vbnet-gridview-databound/ DBComm.CommandText = "NurCerti_Log_Read" ' drCertification = DBComm.ExecuteReader() dgCertification.DataSource = drCertification If drCertification.HasRows Then Response.Write("ABC") End If dgCertification.DataBind() drCertification.Close() drCertification = Nothing DBComm.Dispose() Catch objError As Exception Dim myarraylist As New ArrayList myarraylist.Add("fliao@holyredeemer.com") Exit Try Finally End Try End Sub
Here is my stored procedure USE [InternalEduTest] GO /****** Object: StoredProcedure [dbo].[NurCerti_Log_Read] Script Date: 03/03/2011 13:12:14 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[NurCerti_Log_Read] ( @EmpID nchar(10)) AS SELECT [EmplID] ,[Certification] ,[CDateObtained] ,[CDateExpiration], ID FROM [dbo].[NurProfileCertification] where EMPLID = @EmpID
I'm trying to decide which is the best way to call a stored procedure.I'm new to ASP.NET MVC and I've been reading a lot about Linq to SQL and Entity Framework, as well as the Repository Pattern. To be honest, I'm having a hard time understanding the real differences between L2S and EF... but I want to make sure that what I'm building within my application is right.
For right now, I need to properly call stored procedures to: a) save some user information and get a response and, b) grab some inforation for a catalog of products.So far, I've created a Linq to SQL .dbml file, selected the sotred procedure from the Server Explorer and dragged that instance into the .dbml. I'm currently calling the Stored Procedure like so:
MyLinqModel _db = new MyLinqModel(); _db.MyStoredProcedure(args);
I know there's got to be more involved... plus I'm doing this within my controller, which I understand to be not a good practice.
I have datagrid that binds it's data from database.I have to select,update,insert,Delete data grid using stored procedure.I created a dataset and using dataset storedprocedures for this issue.select stored procedure is works fine,but I have problem in Update,Insert,Delete Storedprocedure.
I created them(storedprocedures) through wizard,But I don' know how to call them.I write the below code in "DataGrid2_UpdateCommand" event but it doesn't work
This an input to a stored porcedure from a web form. My form consists of a text box, 3 listboxes, and 2 more textboxes and a command button. What I need to happen is when the user clicks the command butto it will submit all of the information on the form to the database table. I have a stored procedure in place and the code-behind. What happens though is that the user enters a value into the textbox and hits the enter key and the application will throw an error that expects the next parameter but of course it isn't there. The listboxes postback to grab the data in connection with the value in the first textbox.Here is the code-behind to the aspx page:
[Code]....
The exact error is that it expects parameter @EquipmentType but it is not supplied. It shouldn't be though because the user has not selected anything from the listbox yet. I thought this was straightforward
Inside my application I created the following class
Code: Public Class clsProject
Public Sub AddData(ByVal cproject As string) ... end Sub end Class
I want to call this procedure from a sub in a form. So in the code behind file I wrote
Code: Imports TextMgmt.clsProject Public Class WebForm1 Inherits System.Web.UI.Page Protected Sub btnAddData_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnAddData.Click Call clsProject.AddData(txtInput.text) End Sub End Class
I get the following design time error: Reference to a non-shared member requires an object reference.I thought making things Public would make them visible.
I have a form where the user enters their first name, last name, email address etc.. and then they also have the ability to enter 'cottages' that they are interested in viewing (ie. The cottage name, cottage address). The user then needs to be able to 'save' this somewhere and enter another cottage into the same form.
Finally the user will submit the form, and all the user details, and cottage details will be emailed to admin.
I need to be able to delete records from a gridview using a stored procedure. My data comes from two sources so the standard delete won't work. I have come up with the code below which deletes a record, but the wrong one. How can I iterate through the rows to delete the row I actually want to delete.