Search Results

Search found 52899 results on 2116 pages for 'ado net'.

Page 540/2116 | < Previous Page | 536 537 538 539 540 541 542 543 544 545 546 547  | Next Page >

  • Defining DateDiff for a calculated column in a datatable

    - by Nir
    I have the column DateTimeExpired, and I would like to create another column called "Expired" which will show "Yes" or "No" according to the expiration date - "Yes" if the date has already passed. I wrote this: DataColumn colExpirationDate = new DataColumn("DateTimeExpired", typeof(DateTime)); DataColumn colExpired = new DataColumn("Expired", typeof(string), "IIF(DateDiff(DateTimeExpired, date())>= 0,'No','Yes')"); But I get an exception "The expression contains undefined function call DateDiff()." (please note that I always want to get the row, no matter if it's expired or not) How do I set the column's text to the correct form?

    Read the article

  • How would you implement API key in WCF Data Service?

    - by rushonerok
    Is there a way to require an API key in the URL / or some other way of passing the service a private key in order to grant access to the data? I have this right now... using System; using System.Data.Services; using System.Data.Services.Common; using System.Collections.Generic; using System.Linq; using System.ServiceModel.Web; using Numina.Framework; using System.Web; using System.Configuration; [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)] public class odata : DataService { public static void InitializeService(DataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.AllRead); //config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2; } protected override void OnStartProcessingRequest(ProcessRequestArgs args) { HttpRequest Request = HttpContext.Current.Request; if(Request["apikey"] != ConfigurationManager.AppSettings["ApiKey"]) throw new DataServiceException("ApiKey needed"); base.OnStartProcessingRequest(args); } } ...This works but it's not perfect because you cannot get at the metadata and discover the service through the Add Service Reference explorer. I could check if $metadata is in the url but it seems like a hack. Is there a better way?

    Read the article

  • is it possible to add DataRelation to DataSet if child table contains rows that have no parent in pa

    - by matti
    If I fill the DataSet with DataAdapters that select all rows from Orders and Customers and call: private void CreateRelation() { // Get the DataColumn objects from two DataTable objects // in a DataSet. Code to get the DataSet not shown here. DataColumn parentColumn = DataSet1.Tables["Customers"].Columns["CustID"]; DataColumn childColumn = DataSet1.Tables["Orders"].Columns["CustID"]; // Create DataRelation. DataRelation relCustOrder; relCustOrder = new DataRelation("CustomersOrders", parentColumn, childColumn); // Add the relation to the DataSet. DataSet1.Relations.Add(relCustOrder); } (from http://msdn.microsoft.com/en-us/library/system.data.datarelation.aspx) there will be a runtime error if there is orders that do not have customers. This might happen when a buggy program has not deleted customer's orders when customer was deleted. What can I do except put Orders select string a additional where-condition: CUSTID IN (SELECT DISTINCT CUSTID FROM CUSTOMERS) OR: is it really that way (that all children have to have parents)? My code might have a bug also. The exception occurs when IN MY CODE I add the relation to filled DataSet. The exception is: An unhandled exception of type 'System.ArgumentException' occurred in System.Data.dll Additional information: This constraint cannot be enabled as not all values have corresponding parent values. Thanks & Best Regards - Matti

    Read the article

  • Executing multiple DbCommands in an open connection with Enterprise Library

    - by Lieven Cardoen
    How can you execute multiple DbCommands with one connection? Example: var db = DatabaseFactory.CreateDatabase(); var dbCommand = db.GetSqlStringCommand(InsertCommandText); ... db.ExecuteNonQuery(dbCommand); Now, I want to be able to Execute multiple dbCommands. For instance in pseudo kind of code: var db = DatabaseFactory.CreateDatabase(); var dbCommand1 = db.GetSqlStringCommand(InsertCommandText); ... var dbCommand1 = db.GetSqlStringCommand(InsertCommandText); ... Adding both commands to db Executing them

    Read the article

  • delphi insert update record´s

    - by ml
    Hi friends what is that im doing wrong because it goes and goes on LOOP var ii: Integer; i: Integer; j: Integer; ie : integer; je : integer; fileSource, fileDest: string; Fo : TSHFileOpStruct; buffer : array[0..4096] of char; p : pchar; dirFile: String; dirFile1: String; dirFile11: String; begin dirFile1 := (Dirlocal + 'Vibrometria\'+ClienteN.text+'\'); dirFile := (localAplicação+ 'Vibrometria\'+ClienteN.text+'\'+NInterv.text ) ; dirFile11:= Dirlocal+'Vibrometria\'; if ForceDirectories(dirFile11) then if ForceDirectories(dirFile1) then //...................................................................... begin ShowMessage('Vai devolver "'+cxDBTextEdit5.Text+'..........' +obra.Text); Sub_TRelFinal.First; Begin ADOTable_casa.First; Begin begin Sub_TRelFinal.Edit; //Tabela1Codoco.Value := Tabela2Codoco.Value; Sub_TRelFinal.FieldByName('Foto1').text := ADOTable_casa.FieldByName('Foto1').text; Sub_TRelFinal.FieldByName('Obra').text := ADOTable_casa.FieldByName('Obra').text; Sub_TRelFinal.FieldByName('OBS1').text := ADOTable_casa.FieldByName('OBS1').text; Sub_TRelFinal.FieldByName('Data_VisitaLocal').text := ADOTable_casa.FieldByName('Data_VisitaLocal').text; Sub_TRelFinal.FieldByName('ContractoN').text := ADOTable_casa .FieldByName('ContractoN').text;; Sub_TRelFinal.FieldByName('Cliente').text := ADOTable_casa .FieldByName('Cliente').text; Sub_TRelFinal.FieldByName('Morada').text := ADOTable_casa .FieldByName('Morada').text; Sub_TRelFinal.FieldByName('localizacao').text:= ADOTable_casa .FieldByName('localizacao').text; Sub_TRelFinal.FieldByName('Intruducao').text:= ADOTable_casa .FieldByName('Intruducao').text; Sub_TRelFinal.FieldByName('Analise').text := ADOTable_casa.FieldByName('Analise').text; Sub_TRelFinal.Post; end; End; end; //iniciar inserção registos sub Sub_TRelFinal_1.First; For j := 1 to Sub_TRelFinal_1.RecordCount do Begin ADOTable_casa_sub_1.First; For i := 1 To ADOTable_casa_sub_1.RecordCount Do Begin begin Sub_TRelFinal_1.Edit; //Tabela1Codoco.Value := Tabela2Codoco.Value; Sub_TRelFinal_1.FieldByName('Foto1').text := ADOTable_casa_sub_1.FieldByName('Foto1').text; Sub_TRelFinal_1.FieldByName('Obra').text := ADOTable_casa_sub_1.FieldByName('Obra').text; Sub_TRelFinal_1.FieldByName('OBS1').text := ADOTable_casa_sub_1.FieldByName('OBS1').text; Sub_TRelFinal_1.FieldByName('Data_VisitaLocal').text := ADOTable_casa_sub_1.FieldByName('Data_VisitaLocal').text; Sub_TRelFinal_1.FieldByName('ContractoN').text := ADOTable_casa_sub_1.FieldByName('ContractoN').text; Sub_TRelFinal_1.FieldByName('Cliente').text := ADOTable_casa_sub_1.FieldByName('Cliente').text; Sub_TRelFinal_1.FieldByName('Morada').text := ADOTable_casa_sub_1.FieldByName('Morada').text; Sub_TRelFinal_1.FieldByName('localizacao_eq').text:= ADOTable_casa_sub_1.FieldByName('localizacao_eq').text; Sub_TRelFinal_1.FieldByName('Equipamento').text:= ADOTable_casa_sub_1.FieldByName('Equipamento').text; Sub_TRelFinal_1.FieldByName('tipo_equip').text := ADOTable_casa_sub_1.FieldByName('tipo_equip').text; Sub_TRelFinal_1.Post; end; //iniciar inserção registos subsub SubTRelFinal_sub.First; For ie := 1 to SubTRelFinal_sub.RecordCount do Begin ADOTable_casa_sub_Sub.First; For je := 1 To ADOTable_casa_sub_Sub.RecordCount Do begin SubTRelFinal_sub.Edit; //Tabela1Codoco.Value := Tabela2Codoco.Value; SubTRelFinal_sub.FieldByName('Foto1').text := ADOTable_casa_sub_Sub.FieldByName('Foto1').text; SubTRelFinal_sub.FieldByName('Foto2').text := ADOTable_casa_sub_Sub.FieldByName('Foto2').text; SubTRelFinal_sub.FieldByName('Analisefoto1').text := ADOTable_casa_sub_Sub.FieldByName('Analisefoto1').text; SubTRelFinal_sub.FieldByName('Observações').text := ADOTable_casa_sub_Sub.FieldByName('Observações').text;; SubTRelFinal_sub.FieldByName('ContractoN').text := ADOTable_casa_sub_Sub.FieldByName('ContractoN').text; SubTRelFinal_sub.FieldByName('OBS3').text := ADOTable_casa_sub_Sub.FieldByName('OBS3').text; SubTRelFinal_sub.FieldByName('OBS4').text := ADOTable_casa_sub_Sub.FieldByName('OBS4').text; SubTRelFinal_sub.FieldByName('OBS2').text := ADOTable_casa_sub_Sub.FieldByName('OBS2').text; SubTRelFinal_sub.FieldByName('OBS1').text := ADOTable_casa_sub_Sub.FieldByName('OBS1').text; SubTRelFinal_sub.FieldByName('Localização').text := ADOTable_casa_sub_Sub.FieldByName('Localização').text; SubTRelFinal_sub.FieldByName('Tipo_equipamento').text:= ADOTable_casa_sub_Sub.FieldByName('Tipo_equipamento').text; SubTRelFinal_sub.FieldByName('Analisefoto101').text:= ADOTable_casa_sub_Sub.FieldByName('Analisefoto101').text; SubTRelFinal_sub.FieldByName('Analisefoto201').text := ADOTable_casa_sub_Sub.FieldByName('Analisefoto201').text; SubTRelFinal_sub.FieldByName('GrauAnomalia').text := ADOTable_casa_sub_Sub.FieldByName('GrauAnomalia').text; SubTRelFinal_sub.Post; end; ADOTable_casa_sub_Sub.Next; End; SubTRelFinal_sub.Next; End; ADOTable_casa_sub_1.Next; End; Sub_TRelFinal_1 .Next;

    Read the article

  • recursive delete trigger and ON DELETE CASCADE contraints are not deleting everything

    - by bitbonk
    I have a very simple datamodel that represents a tree structure: The RootEntity is the root of such a tree, it can contain children of type ContainerEntity and of type AtomEntity. The type ContainerEntity again can contain children of type ContainerEntity and of type AtomEntity but can not contain children of type RootEntity. Children are referenced in a well known order. The DB model for this is below. My problem now is that when I delete a RootEntity I want all children to be deleted recursively. I have create foreign key with CASCADE DELETE and two delete triggers for this. But it is not deleting everything, it always leaves some items in the ContainerEntity, AtomEntity, ContainerEntity_Children and AtomEntity_Children tables. Seemling beginning with the recursionlevel of 3. CREATE TABLE RootEntity ( Id UNIQUEIDENTIFIER NOT NULL, Name VARCHAR(500) NOT NULL, CONSTRAINT PK_RootEntity PRIMARY KEY NONCLUSTERED (Id), ); CREATE TABLE ContainerEntity ( Id UNIQUEIDENTIFIER NOT NULL, Name VARCHAR(500) NOT NULL, CONSTRAINT PK_ContainerEntity PRIMARY KEY NONCLUSTERED (Id), ); CREATE TABLE AtomEntity ( Id UNIQUEIDENTIFIER NOT NULL, Name VARCHAR(500) NOT NULL, CONSTRAINT PK_AtomEntity PRIMARY KEY NONCLUSTERED (Id), ); CREATE TABLE RootEntity_Children ( ParentId UNIQUEIDENTIFIER NOT NULL, OrderIndex INT NOT NULL, ChildContainerEntityId UNIQUEIDENTIFIER NULL, ChildAtomEntityId UNIQUEIDENTIFIER NULL, ChildIsContainerEntity BIT NOT NULL, CONSTRAINT PK_RootEntity_Children PRIMARY KEY NONCLUSTERED (ParentId, OrderIndex), -- foreign key to parent RootEntity CONSTRAINT FK_RootEntiry_Children__RootEntity FOREIGN KEY (ParentId) REFERENCES RootEntity (Id) ON DELETE CASCADE, -- foreign key to referenced (child) ContainerEntity CONSTRAINT FK_RootEntiry_Children__ContainerEntity FOREIGN KEY (ChildContainerEntityId) REFERENCES ContainerEntity (Id) ON DELETE CASCADE, -- foreign key to referenced (child) AtomEntity CONSTRAINT FK_RootEntiry_Children__AtomEntity FOREIGN KEY (ChildAtomEntityId) REFERENCES AtomEntity (Id) ON DELETE CASCADE, ); CREATE TABLE ContainerEntity_Children ( ParentId UNIQUEIDENTIFIER NOT NULL, OrderIndex INT NOT NULL, ChildContainerEntityId UNIQUEIDENTIFIER NULL, ChildAtomEntityId UNIQUEIDENTIFIER NULL, ChildIsContainerEntity BIT NOT NULL, CONSTRAINT PK_ContainerEntity_Children PRIMARY KEY NONCLUSTERED (ParentId, OrderIndex), -- foreign key to parent ContainerEntity CONSTRAINT FK_ContainerEntity_Children__RootEntity FOREIGN KEY (ParentId) REFERENCES ContainerEntity (Id) ON DELETE CASCADE, -- foreign key to referenced (child) ContainerEntity CONSTRAINT FK_ContainerEntity_Children__ContainerEntity FOREIGN KEY (ChildContainerEntityId) REFERENCES ContainerEntity (Id) ON DELETE CASCADE, -- foreign key to referenced (child) AtomEntity CONSTRAINT FK_ContainerEntity_Children__AtomEntity FOREIGN KEY (ChildAtomEntityId) REFERENCES AtomEntity (Id) ON DELETE CASCADE, ); CREATE TRIGGER Delete_RootEntity_Children ON RootEntity_Children FOR DELETE AS DELETE FROM ContainerEntity WHERE Id IN (SELECT ChildContainerEntityId FROM deleted) DELETE FROM AtomEntity WHERE Id IN (SELECT ChildAtomEntityId FROM deleted) GO CREATE TRIGGER Delete_ContainerEntiy_Children ON ContainerEntity_Children FOR DELETE AS DELETE FROM ContainerEntity WHERE Id IN (SELECT ChildContainerEntityId FROM deleted) DELETE FROM AtomEntity WHERE Id IN (SELECT ChildAtomEntityId FROM deleted) GO

    Read the article

  • IDataServiceMetadataProvider - Entities dont show up in $metadata.

    - by TomTom
    I am trying to write our own RIA services provider to expose data from a server that I access via ODBC. I follow th eguidelines set out at http://blogs.msdn.com/alexj/archive/2010/03/02/creating-a-data-service-provider-part-9-un-typed.aspx I have written our own IDataServiceMetadataProvider / IDataServiceQueryProvider pair and get no errors on what i do. I am putting in a resource set like this: ResourceType tableType = new ResourceType( typeof(Dictionary<string, object>), ResourceTypeKind.EntityType, null, "Martini", table_name, false ); tableType.CanReflectOnInstanceType = false; var prodKey = new ResourceProperty( "Key", ResourcePropertyKind.Key | ResourcePropertyKind.Primitive, ResourceType.GetPrimitiveResourceType(typeof(int)) ); prodKey.CanReflectOnInstanceTypeProperty = false; tableType.AddProperty(prodKey); var prodName = new ResourceProperty( "Name", ResourcePropertyKind.Primitive, ResourceType.GetPrimitiveResourceType(typeof(string)) ); prodName.CanReflectOnInstanceTypeProperty = false; tableType.AddProperty(prodName); _MetaDataProvider.AddResourceType(tableType); _MetaDataProvider.AddResourceSet(new ResourceSet(table_name, tableType)); I see the requests coming in for enumerating the resource sets. I check them there in a breakpoint, and the resource set and the type is there, with all properties. Still, the output I get is: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> - <service xml:base="http://localhost:2377/MartiniData.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app"> - <workspace> <atom:title>Default</atom:title> </workspace> </service> And for the $metadata version: <?xml version="1.0" encoding="utf-8" standalone="yes" ?> - <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"> - <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0"> - <Schema Namespace="Martini" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2007/05/edm"> <EntityContainer Name="Martini" m:IsDefaultEntityContainer="true" /> </Schema> </edmx:DataServices> </edmx:Edmx> The actual metadata for the types never shows up, no error is shown. pretty frustrating. Anyone any idea?

    Read the article

  • Can't submit new object to WCF DataService because of Primary Key constraint

    - by Rob
    I've got a SQL database that uses Guid's for PK's and upon insert, it generates a NewId(). I have an EF data context setup pointing to that database with the primary keys setup with the Entity key:true, Setter:private and StoreGeneratedPattern:Identity because I want the DB to manage the keys and not have code set the PK property. I have an OData (System.Web.Data.Services.DataService) endpoint to access this data (just like: Hanselman did. I have another app that has a service reference to this service. Upon trying to create a new object from this reference (i.e. Product), the ProductId Primary Key is being defaulted to Guid.Empty when doing var serviceEntities = new ServiceEntities(serviceUri); //OData endpoint var product = new Product(); product.Name = "New Product"; serviceEntities.AddToProducts(product); serviceEntities.SaveChanges(); // error happens here When debugging, I look at the Product.ProductId property and it's set to Guid.Empty. When called SaveChanges, I do not want the ProductId field to be sent to the service. The response I get is: Error processing request stream. Property 'ProductId' is a read-only property and cannot be updated. Please make sure that this property is not present in the request payload. Is there a way to do this or what can I do to get this setup correctly and still have the DB generated the keys. Here is the same setup as the Product example above.

    Read the article

  • Detecting duplicate values in a column of a Datatable while traversing through It

    - by Ashish Gupta
    I have a Datatable with Id(guid) and Name(string) columns. I traverse through the data table and run a validation criteria on the Name (say, It should contain only letters and numbers) and then adding the corresponding Id to a List If name passes the validation. Something like below:- List<Guid> validIds=new List<Guid>(); foreach(DataRow row in DataTable1.Rows) { if(IsValid(row["Name"]) { validIds.Add((Guid)row["Id"]); } } In addition to this validation I should also check If the name is not repeating in the whole datatable (even for the case-sensitiveness), If It is repeating, I should not add the corresponding Id in the List. Things I am thinking/have thought about:- 1) I can have another List, check for the "Name" in the same, If It exists, will add the corresponding Guild 2) I cannot use HashSet as that would treat "Test" and "test" as different strings and not duplicates. 3) Take the DataTable to another one where I have the disctict names (this I havent tried and the code might be incorrect, please correct me whereever possible) DataTable dataTableWithDistinctName = new DataTable(); dataTableWithDistinctName.CaseSensitive=true CopiedDataTable=DataTable1.DefaultView.ToTable(true,"Name"); I would loop through the original datatable and check the existence of the "Name" in the CopiedDataTable, If It exists, I wont add the Id to the List. Are there any better and optimum way to achieve the same? I need to always think of performance. Although there are many related questions in SO, I didnt find a problem similar to this. If you could point me to a question similar to this, It would be helpful. Thanks

    Read the article

  • Why is my ServiceOperation method missing from my WCF Data Services client proxy code?

    - by Kev
    I have a simple WCF Data Services service and I want to expose a Service Operation as follows: [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)] public class ConfigurationData : DataService<ProductRepository> { // This method is called only once to initialize service-wide policies. public static void InitializeService(IDataServiceConfiguration config) { config.SetEntitySetAccessRule("*", EntitySetRights.ReadMultiple | EntitySetRights.ReadSingle); config.SetServiceOperationAccessRule("*", ServiceOperationRights.All); config.UseVerboseErrors = true; } // This operation isn't getting generated client side [WebGet] public IQueryable<Product> GetProducts() { // Simple example for testing return (new ProductRepository()).Product; } Why isn't the GetProducts method visible when I add the service reference on the client?

    Read the article

  • Linq: the linked objects are null, why?

    - by user46503
    Hello, I have several linked tables (entities). I'm trying to get the entities using the following linq: ObjectQuery<Location> locations = context.Location; ObjectQuery<ProductPrice> productPrice = context.ProductPrice; ObjectQuery<Product> products = context.Product; IQueryable<ProductPrice> res1 = from pp in productPrice join loc in locations on pp.Location equals loc join prod in products on pp.Product equals prod where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1 select pp; This query returns 2 records, ProductPrice objects that have linked object Location and Product but they are null and I cannot understand why. If I try to fill them in the linq as below: res = from pp in productPrice join loc in locations on pp.Location equals loc join prod in products on pp.Product equals prod where prod.Title.ToLower().IndexOf(Word.ToLower()) > -1 select new ProductPrice { ProductPriceId = pp.ProductPriceId, Product = prod }; I have the exception "The entity or complex type 'PBExplorerData.ProductPrice' cannot be constructed in a LINQ to Entities query" Could someone please explain me what happens and what I need to do? Thanks

    Read the article

  • SQLiteDataAdapter Update method returning 0 C#

    - by Lirik
    I loaded 83 rows from my CSV file, but when I try to update the SQLite database I get 0 rows... I can't figure out what I'm doing wrong. The program outputs: Num rows loaded is 83 Num rows updated is 0 The source code is: public void InsertData(String csvFileName, String tableName) { String dir = Path.GetDirectoryName(csvFileName); String name = Path.GetFileName(csvFileName); using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dir + @";Extended Properties=""Text;HDR=Yes;FMT=Delimited\""")) { conn.Open(); using (OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM " + name, conn)) { QuoteDataSet ds = new QuoteDataSet(); adapter.Fill(ds, tableName); Console.WriteLine("Num rows loaded is " + ds.Tags.Rows.Count); InsertData(ds, tableName); } } } public void InsertData(QuoteDataSet data, String tableName) { using (SQLiteConnection conn = new SQLiteConnection(_connectionString)) { using (SQLiteDataAdapter sqliteAdapter = new SQLiteDataAdapter("SELECT * FROM " + tableName, conn)) { using (new SQLiteCommandBuilder(sqliteAdapter)) { conn.Open(); Console.WriteLine("Num rows updated is " + sqliteAdapter.Update(data, tableName)); } } } } Any hints on why it's not updating the correct number of rows?

    Read the article

  • Strange behaviour of code inside TransactionScope?

    - by Krishna
    We are facing a very complex issue in our production application. We have a WCF method which creates a complex Entity in the database with all its relation. public void InsertEntity(Entity entity) { using(TransactionScope scope = new TransactionScope()) { EntityDao.Create(entity); } } EntityDao.Create(entity) method is very complex and has huge pieces of logic. During the entire process of creation it creates several child entities and also have several queries to database. During the entire WCF request of entity creation usually Connection is maintained in a ThreadStatic variable and reused by the DAOs. Although some of the queries in DAO described in step 2 uses a new connection and closes it after use. Overall we have seen that the above process behaviour is erratic. Some of the queries in the inner DAO does not even return actual data from the database? The same query when run to the actaul data store gives correct result. What can be possible reason of this behaviour?

    Read the article

  • Query in Datareader

    - by bala
    Hi All, In the below code, using (SqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection)) { while (dr.Read()) { _emailTemplate.EmailContent = dr["EMAILCONTENT"].ToString(); _emailTemplate.From = dr["EMAILFROM"].ToString(); _emailTemplate.Subject = dr["EMAILSUBJECT"].ToString(); } } I understand CommandBehavior.CloseConnection will close the connection object when datareader is closed. In the above code, when we use using with SqlDataReader, will it close the datareader before disposing it? in other other words, if i use using statement do i need to close the datareader manually?

    Read the article

  • How to return a recordset from a function

    - by Scott
    I'm building a data access layer in Excel VBA and having trouble returning a recordset. The Execute() function in my class is definitely retrieving a row from the database, but doesn't seem to be returning anything. The following function is contained in a class called DataAccessLayer. The class contains functions Connect and Disconnect which handle opening and closing the connection. Public Function Execute(ByVal sqlQuery as String) As ADODB.recordset Set recordset = New ADODB.recordset Dim recordsAffected As Long ' Make sure we are connected to the database. If Connect Then Set command = New ADODB.command With command .ActiveConnection = connection .CommandText = sqlQuery .CommandType = adCmdText End With ' These seem to be equivalent. 'Set recordset = command.Execute(recordsAffected) recordset.Open command.Execute(recordsAffected) Set Execute = recordset recordset.ActiveConnection = Nothing recordset.Close Set command = Nothing Call Disconnect End If Set recordset = Nothing End Function Here's a public function that I'm using in cell A1 of my spreadsheet for testing. Public Function Scott_Test() Dim Database As New DataAccessLayer 'Dim rs As ADODB.recordset 'Set rs = CreateObject("ADODB.Recordset") Set rs = New ADODB.recordset Set rs = Database.Execute("SELECT item_desc_1 FROM imitmidx_sql WHERE item_no = '11001'") 'rs.Open Database.Execute("SELECT item_desc_1 FROM imitmidx_sql WHERE item_no = '11001'") 'rs.Open ' This never displays. MsgBox rs.EOF If Not rs.EOF Then ' This is displaying #VALUE! in cell A1. Scott_Test = rs!item_desc_1 End If rs.ActiveConnection = Nothing Set rs = Nothing End Function What am I doing wrong?

    Read the article

  • C# Gridview - Checking if a column already exists when adding a new column fails

    - by Nir
    I have a GridView with 10 columns. On a certain condition, I want to add a new column called "Expiration Date". The problem is that when the user presses "Search" again (Postback) the column is added again. I check before adding the column, to see if it already exists: BoundField dtExp = new BoundField {DataField = "DateTimeExpired", HeaderText = "Expiration Date", DataFormatString = "{0:d}"}; if (!grid.Columns.Contains(dtExp)){grid.Columns.Add(dtExp);} But the problem is that even if the column already exists, "Contains" returns false. What am I doing wrong? Thanks!

    Read the article

  • RowFilter including [ character in search string

    - by JeffC
    I fill a DataSet and allow the user to enter a search string. Instead of hitting the database again, I set the RowFilter to display the selected data. When the user enters a square bracket ( "[" ) I get an error "Error in Like Operator". I know there is a list of characters that need prefixed with "\" when they are used in a field name, but how do I prevent RowFilter from interpreting "[" as the beginning of a column name?

    Read the article

  • Entity Framework Performance Problem

    - by Steve Horn
    I'm hoping that someone can help me understand how to overcome a performance problem I'm running into with the latest version of the Entity Framework. In my test, I created my model from a database consisting of around 80 tables. The problem that I'm running into is that the cost of the very first query I run on a thread is very expensive. If I run without pre-compiling views the first query takes anywhere from 5800 to 6600 milliseconds. If I pre-compile the views (see this article) I can get the initial query cost down to about 2800 to 3200 milliseconds. 3 seconds for each request is still unacceptable for my needs. Subsequent queries are very fast. Can you please help me understand how to eliminate the poor performance of the initial query? I'm using the version of entity framework that ships with Visual Studio 2010 RC.

    Read the article

  • Passing an TAdoDataset as parameter using TADOStoredProc

    - by Salvador
    i have an oracle stored procedure with 2 parameters declarated as input cursors. how i can assign this parameters the TADOStoredProc component? ORACLE PROCEDURE MYSTOREDPROCEDURE(P_HEADER IN TCursor, P_DETAL IN TCursor, P_RESULT OUT VARCHAR2) BEGIN //My code goes here END; Delphi function TMyClass.Add(Header, Detail: TADODataSet;var _Result: string): boolean; Var StoredProc : TADOStoredProc; begin Result:=False; StoredProc:=TADOStoredProc.Create(nil); try StoredProc.Connection :=ADOConnection1; StoredProc.ProcedureName:='MYSTOREDPROCEDURE'; StoredProc.Parameters.Refresh; StoredProc.Parameters.ParamByName('P_HEADER').Value :=Header;//How can assign this parameter? try StoredProc.Open; _Result:=VarToStrNull(StoredProc.Parameters.ParamByName('P_RESULT').Value); StoredProc.Close; Result:=True; except on E : Exception do begin _Result:=E.Message; //exit; end; end; finally StoredProc.Free; end; end;

    Read the article

  • Can't connect twice to linked table using ACE/JET driver

    - by Tmdean
    I'm trying to connect to an MS Access database linked table in VBScript. It works fine connecting the first time on one connection but if I close that connection and open a new one in the same script it gives me an error. test.vbs(13, 1) Microsoft Office Access Database Engine: ODBC--connection to '{Oracle in OraClient10g_home1}DB_NAME' failed. This is some code that triggers the error. TABLE_1 is an ODBC linked table in the test.mdb file. Dim cnn, rs Set cnn = CreateObject("ADODB.Connection") cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=test.mdb" Set rs = cnn.Execute("SELECT * FROM [TABLE_1]") rs.Close cnn.Close Set cnn = CreateObject("ADODB.Connection") cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=test.mdb" Set rs = cnn.Execute("SELECT * FROM [TABLE_1]") '' crashes here rs.Close cnn.Close This error does not occur if I try to access an ordinary Access table. Right now I'm thinking it's a bug in the Oracle ODBC driver.

    Read the article

  • MS Access: Why is ADODB.Recordset.BatchUpdate so much slower than Application.ImportXML?

    - by apenwarr
    I'm trying to run the code below to insert a whole lot of records (from a file with a weird file format) into my Access 2003 database from VBA. After many, many experiments, this code is the fastest I've been able to come up with: it does 10000 records in about 15 seconds on my machine. At least 14.5 of those seconds (ie. almost all the time) is in the single call to UpdateBatch. I've read elsewhere that the JET engine doesn't support UpdateBatch. So maybe there's a better way to do it. Now, I would just think the JET engine is plain slow, but that can't be it. After generating the 'testy' table with the code below, I right clicked it, picked Export, and saved it as XML. Then I right clicked, picked Import, and reloaded the XML. Total time to import the XML file? Less than one second, ie. at least 15x faster. Surely there's an efficient way to insert data into Access that doesn't require writing a temp file? Sub TestBatchUpdate() CurrentDb.Execute "create table testy (x int, y int)" Dim rs As New ADODB.Recordset rs.CursorLocation = adUseServer rs.Open "testy", CurrentProject.AccessConnection, _ adOpenStatic, adLockBatchOptimistic, adCmdTableDirect Dim n, v n = Array(0, 1) v = Array(50, 55) Debug.Print "starting loop", Time For i = 1 To 10000 rs.AddNew n, v Next i Debug.Print "done loop", Time rs.UpdateBatch Debug.Print "done update", Time CurrentDb.Execute "drop table testy" End Sub I would be willing to resort to C/C++ if there's some API that would let me do fast inserts that way. But I can't seem to find it. It can't be that Application.ImportXML is using undocumented APIs, can it?

    Read the article

< Previous Page | 536 537 538 539 540 541 542 543 544 545 546 547  | Next Page >