Link to home
Start Free TrialLog in
Avatar of JCWEBHOST
JCWEBHOST

asked on

text files

hey guys i have a text file on my sever

path:
album-maker/payment-folder/orderID.txt

now i need c# code to read the text file in a stream where i can get the values and set the values.

here my txt file

FIRST_NAME  = Mike
MIDDLE_NAME  = Johnson
LAST_NAME  = Kofman
CUSTOMER_ID =  14112
PRODUCT_DETAILS = MP_A4 Portrait
PRICE_LEFT_DECIMAL_POINT = 1189
PRICE_RIGHT_DECIMAL_POINT =39
DATE_TIME = 19145504122008
STREET =157th St.
DISTRICT = NY
CITY =New York
ZIP = 75443
STATE = NY
COUNTRY = America 
PHONE =  054533526
CELLULAR = 054533526
EMAIL = Kofman_Mike@hotmail.com
ATTEMPT_TO_UPLOAD =0
COVER_MATERIAL = Dark_Cover
COVER_COLOR = Gray
PAGE_COUNT = 40
COPIES = 1
COMMENT = 
FINISHING = 
COLOR_CORRECT = 0
IMAGE_COUNT = 7
CUSTOMER_TITLE = Mr.
CUSTOMER_BIRTHDATE = 00000023111972
USED_PRICING_FORMAT = 1
DECIMAL_SEPARATOR = .
BASIC_PAGES_PRICE = 454.00
ADDITIONAL_PAGES_PRICE = 155.00
ALBUM_BLOCK_PRICE = 564.00
COVER_PRICE = 200.00
COLOR_CORRECTION_PRICE = .00
FINISHING_PRICE = .00
ALBUM_PRICE = 1074.00
CD_PRICE = .00
ORDER_PRICE = 1074.00
TAX_NAME_1 = VAT
TAX_VALUE_1 = 107.40
TAX_NAME_2 = Shipment Tax
TAX_VALUE_2 = 2.99
ORDER_PRICE_INCLUDING_TAXES =1184.39
SHIPMENT_PRICE = 5.00
TOTAL_PRICE = 1189.39
DISCOUNT = .00
PAYED_AMOUNT = .00

Open in new window


please help
Avatar of Rimvis
Rimvis
Flag of Lithuania image

Hi  JCWEBHOST,

This might be useful to you:

Simple way to read and write name value text file
http://stackoverflow.com/questions/3781706/simple-way-to-read-and-write-name-value-text-file
ASKER CERTIFIED SOLUTION
Avatar of Alan Warren
Alan Warren
Flag of Philippines image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi JCWEBHOST,
if you want to take this further, will need some schema for the destination table/tables, so we can convert the values from the input file to the db expected types and sizes.

Respectfully yours,
Alan
Re:
That huge code is really not necessary, an array and a for loop would reduce that to 20 lines or less.
Sure it's doable, that was first draft; but, Me too ";0)
Anyhow, moving on ...

We will need a table to put the parsed variable data into.

USE [yourdb]
GO

/****** Object:  Table [dbo].[Table_3]    Script Date: 09/05/2012 08:17:45 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[Table_3](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[FIRST_NAME] [varchar](50) NULL,
	[MIDDLE_NAME] [varchar](50) NULL,
	[LAST_NAME] [varchar](50) NULL,
	[PRODUCT_DETAILS] [varchar](50) NULL,
	[PRICE_LEFT_DECIMAL_POINT] [varchar](50) NULL,
	[PRICE_RIGHT_DECIMAL_POINT] [varchar](50) NULL,
	[DATE_TIME] [varchar](50) NULL,
	[STREET] [varchar](50) NULL,
	[DISTRICT] [varchar](50) NULL,
	[CITY] [varchar](50) NULL,
	[ZIP] [varchar](50) NULL,
	[STATE] [varchar](50) NULL,
	[COUNTRY] [varchar](50) NULL,
	[PHONE] [varchar](50) NULL,
	[CELLULAR] [varchar](50) NULL,
	[EMAIL] [varchar](50) NULL,
	[COVER_MATERIAL] [varchar](50) NULL,
	[ATTEMPT_TO_UPLOAD] [varchar](50) NULL,
	[COVER_COLOR] [varchar](50) NULL,
	[PAGE_COUNT] [varchar](50) NULL,
	[COPIES] [varchar](50) NULL,
	[COMMENT] [varchar](50) NULL,
	[FINISHING] [varchar](50) NULL,
	[COLOR_CORRECT] [varchar](50) NULL,
	[IMAGE_COUNT] [varchar](50) NULL,
	[CUSTOMER_ID] [varchar](50) NULL,
	[CUSTOMER_TITLE] [varchar](50) NULL,
	[CUSTOMER_BIRTHDATE] [varchar](50) NULL,
	[USED_PRICING_FORMAT] [varchar](50) NULL,
	[DECIMAL_SEPARATOR] [varchar](50) NULL,
	[BASIC_PAGES_PRICE] [varchar](50) NULL,
	[ADDITIONAL_PAGES_PRICE] [varchar](50) NULL,
	[ALBUM_BLOCK_PRICE] [varchar](50) NULL,
	[COVER_PRICE] [varchar](50) NULL,
	[COLOR_CORRECTION_PRICE] [varchar](50) NULL,
	[FINISHING_PRICE] [varchar](50) NULL,
	[ALBUM_PRICE] [varchar](50) NULL,
	[CD_PRICE] [varchar](50) NULL,
	[ORDER_PRICE] [varchar](50) NULL,
	[TAX_NAME_1] [varchar](50) NULL,
	[TAX_VALUE_1] [varchar](50) NULL,
	[TAX_NAME_2] [varchar](50) NULL,
	[TAX_VALUE_2] [varchar](50) NULL,
	[ORDER_PRICE_INCLUDING_TAXES] [varchar](50) NULL,
	[SHIPMENT_PRICE] [varchar](50) NULL,
	[TOTAL_PRICE] [varchar](50) NULL,
	[DISCOUNT] [varchar](50) NULL,
	[PAYED_AMOUNT] [varchar](50) NULL,
 CONSTRAINT [PK_Table_3] PRIMARY KEY CLUSTERED 
(
	[ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

Open in new window

And a stored procedure to handle inserting or updating:
USE [yourdb]
GO
/****** Object:  StoredProcedure [dbo].[Table_3_Ins_Or_Upd]    Script Date: 09/05/2012 07:44:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[Table_3_Ins_Or_Upd]
	 @FIRST_NAME varchar(50) = NULL
	,@MIDDLE_NAME varchar(50) = NULL
	,@LAST_NAME varchar(50) = NULL
	,@PRODUCT_DETAILS varchar(50) = NULL
	,@PRICE_LEFT_DECIMAL_POINT varchar(50) = NULL
	,@PRICE_RIGHT_DECIMAL_POINT varchar(50) = NULL
	,@DATE_TIME varchar(50) = NULL
	,@STREET varchar(50) = NULL
	,@DISTRICT varchar(50) = NULL
	,@CITY varchar(50) = NULL
	,@ZIP varchar(50) = NULL
	,@STATE varchar(50) = NULL
	,@COUNTRY varchar(50) = NULL
	,@PHONE varchar(50) = NULL
	,@CELLULAR varchar(50) = NULL
	,@EMAIL varchar(50) = NULL
	,@COVER_MATERIAL varchar(50) = NULL
	,@ATTEMPT_TO_UPLOAD varchar(50) = NULL
	,@COVER_COLOR varchar(50) = NULL
	,@PAGE_COUNT varchar(50) = NULL
	,@COPIES varchar(50) = NULL
	,@COMMENT varchar(50) = NULL
	,@FINISHING varchar(50) = NULL
	,@COLOR_CORRECT varchar(50) = NULL
	,@IMAGE_COUNT varchar(50) = NULL
	,@CUSTOMER_ID varchar(50) = NULL
	,@CUSTOMER_TITLE varchar(50) = NULL
	,@CUSTOMER_BIRTHDATE varchar(50) = NULL
	,@USED_PRICING_FORMAT varchar(50) = NULL
	,@DECIMAL_SEPARATOR varchar(50) = NULL
	,@BASIC_PAGES_PRICE varchar(50) = NULL
	,@ADDITIONAL_PAGES_PRICE varchar(50) = NULL
	,@ALBUM_BLOCK_PRICE varchar(50) = NULL
	,@COVER_PRICE varchar(50) = NULL
	,@COLOR_CORRECTION_PRICE varchar(50) = NULL
	,@FINISHING_PRICE varchar(50) = NULL
	,@ALBUM_PRICE varchar(50) = NULL
	,@CD_PRICE varchar(50) = NULL
	,@ORDER_PRICE varchar(50) = NULL
	,@TAX_NAME_1 varchar(50) = NULL
	,@TAX_VALUE_1 varchar(50) = NULL
	,@TAX_NAME_2 varchar(50) = NULL
	,@TAX_VALUE_2 varchar(50) = NULL
	,@ORDER_PRICE_INCLUDING_TAXES varchar(50) = NULL
	,@SHIPMENT_PRICE varchar(50) = NULL
	,@TOTAL_PRICE varchar(50) = NULL
	,@DISCOUNT varchar(50) = NULL
	,@PAYED_AMOUNT varchar(50) = NULL
    ,@ID int = NULL output

AS
BEGIN

	DECLARE @TranStarted BIT
	DECLARE @ErrorCode INT

	SET @ErrorCode = 0
	SET @TranStarted = 0

	BEGIN TRANSACTION
	SET @TranStarted = 1


	IF EXISTS (SELECT * FROM [dbo].[Table_3] WHERE [ID]=@ID)
	BEGIN
		-- do an update
		UPDATE [dbo].[Table_3]
		SET  [FIRST_NAME] = @FIRST_NAME
			,[MIDDLE_NAME] = @MIDDLE_NAME
			,[LAST_NAME] = @LAST_NAME
			,[PRODUCT_DETAILS] = @PRODUCT_DETAILS
			,[PRICE_LEFT_DECIMAL_POINT] = @PRICE_LEFT_DECIMAL_POINT
			,[PRICE_RIGHT_DECIMAL_POINT] = @PRICE_RIGHT_DECIMAL_POINT
			,[DATE_TIME] = @DATE_TIME
			,[STREET] = @STREET
			,[DISTRICT] = @DISTRICT
			,[CITY] = @CITY
			,[ZIP] = @ZIP
			,[STATE] = @STATE
			,[COUNTRY] = @COUNTRY
			,[PHONE] = @PHONE
			,[CELLULAR] = @CELLULAR
			,[EMAIL] = @EMAIL
			,[COVER_MATERIAL] = @COVER_MATERIAL
			,[ATTEMPT_TO_UPLOAD] = @ATTEMPT_TO_UPLOAD
			,[COVER_COLOR] = @COVER_COLOR
			,[PAGE_COUNT] = @PAGE_COUNT
			,[COPIES] = @COPIES
			,[COMMENT] = @COMMENT
			,[FINISHING] = @FINISHING
			,[COLOR_CORRECT] = @COLOR_CORRECT
			,[IMAGE_COUNT] = @IMAGE_COUNT
			,[CUSTOMER_ID] = @CUSTOMER_ID
			,[CUSTOMER_TITLE] = @CUSTOMER_TITLE
			,[CUSTOMER_BIRTHDATE] = @CUSTOMER_BIRTHDATE
			,[USED_PRICING_FORMAT] = @USED_PRICING_FORMAT
			,[DECIMAL_SEPARATOR] = @DECIMAL_SEPARATOR
			,[BASIC_PAGES_PRICE] = @BASIC_PAGES_PRICE
			,[ADDITIONAL_PAGES_PRICE] = @ADDITIONAL_PAGES_PRICE
			,[ALBUM_BLOCK_PRICE] = @ALBUM_BLOCK_PRICE
			,[COVER_PRICE] = @COVER_PRICE
			,[COLOR_CORRECTION_PRICE] = @COLOR_CORRECTION_PRICE
			,[FINISHING_PRICE] = @FINISHING_PRICE
			,[ALBUM_PRICE] = @ALBUM_PRICE
			,[CD_PRICE] = @CD_PRICE
			,[ORDER_PRICE] = @ORDER_PRICE
			,[TAX_NAME_1] = @TAX_NAME_1
			,[TAX_VALUE_1] = @TAX_VALUE_1
			,[TAX_NAME_2] = @TAX_NAME_2
			,[TAX_VALUE_2] = @TAX_VALUE_2
			,[ORDER_PRICE_INCLUDING_TAXES] = @ORDER_PRICE_INCLUDING_TAXES
			,[SHIPMENT_PRICE] = @SHIPMENT_PRICE
			,[TOTAL_PRICE] = @TOTAL_PRICE
			,[DISCOUNT] = @DISCOUNT
			,[PAYED_AMOUNT] = @PAYED_AMOUNT
		WHERE [ID]=@ID

	END
	ELSE BEGIN
		-- do an insert
		INSERT INTO [dbo].[Table_3]
			(
			 [FIRST_NAME]
			,[MIDDLE_NAME]
			,[LAST_NAME]
			,[PRODUCT_DETAILS]
			,[PRICE_LEFT_DECIMAL_POINT]
			,[PRICE_RIGHT_DECIMAL_POINT]
			,[DATE_TIME]
			,[STREET]
			,[DISTRICT]
			,[CITY]
			,[ZIP]
			,[STATE]
			,[COUNTRY]
			,[PHONE]
			,[CELLULAR]
			,[EMAIL]
			,[COVER_MATERIAL]
			,[ATTEMPT_TO_UPLOAD]
			,[COVER_COLOR]
			,[PAGE_COUNT]
			,[COPIES]
			,[COMMENT]
			,[FINISHING]
			,[COLOR_CORRECT]
			,[IMAGE_COUNT]
			,[CUSTOMER_ID]
			,[CUSTOMER_TITLE]
			,[CUSTOMER_BIRTHDATE]
			,[USED_PRICING_FORMAT]
			,[DECIMAL_SEPARATOR]
			,[BASIC_PAGES_PRICE]
			,[ADDITIONAL_PAGES_PRICE]
			,[ALBUM_BLOCK_PRICE]
			,[COVER_PRICE]
			,[COLOR_CORRECTION_PRICE]
			,[FINISHING_PRICE]
			,[ALBUM_PRICE]
			,[CD_PRICE]
			,[ORDER_PRICE]
			,[TAX_NAME_1]
			,[TAX_VALUE_1]
			,[TAX_NAME_2]
			,[TAX_VALUE_2]
			,[ORDER_PRICE_INCLUDING_TAXES]
			,[SHIPMENT_PRICE]
			,[TOTAL_PRICE]
			,[DISCOUNT]
			,[PAYED_AMOUNT]
			)
			VALUES 
			(
			 @FIRST_NAME
			,@MIDDLE_NAME
			,@LAST_NAME
			,@PRODUCT_DETAILS
			,@PRICE_LEFT_DECIMAL_POINT
			,@PRICE_RIGHT_DECIMAL_POINT
			,@DATE_TIME
			,@STREET
			,@DISTRICT
			,@CITY
			,@ZIP
			,@STATE
			,@COUNTRY
			,@PHONE
			,@CELLULAR
			,@EMAIL
			,@COVER_MATERIAL
			,@ATTEMPT_TO_UPLOAD
			,@COVER_COLOR
			,@PAGE_COUNT
			,@COPIES
			,@COMMENT
			,@FINISHING
			,@COLOR_CORRECT
			,@IMAGE_COUNT
			,@CUSTOMER_ID
			,@CUSTOMER_TITLE
			,@CUSTOMER_BIRTHDATE
			,@USED_PRICING_FORMAT
			,@DECIMAL_SEPARATOR
			,@BASIC_PAGES_PRICE
			,@ADDITIONAL_PAGES_PRICE
			,@ALBUM_BLOCK_PRICE
			,@COVER_PRICE
			,@COLOR_CORRECTION_PRICE
			,@FINISHING_PRICE
			,@ALBUM_PRICE
			,@CD_PRICE
			,@ORDER_PRICE
			,@TAX_NAME_1
			,@TAX_VALUE_1
			,@TAX_NAME_2
			,@TAX_VALUE_2
			,@ORDER_PRICE_INCLUDING_TAXES
			,@SHIPMENT_PRICE
			,@TOTAL_PRICE
			,@DISCOUNT
			,@PAYED_AMOUNT
			)
	END
		
			
	IF( @@ERROR <> 0 )
	BEGIN
		SET @ErrorCode = -1
		GOTO Cleanup
	END

	IF (@TranStarted = 1)
	BEGIN
		SET @TranStarted = 0
		Select @ID = SCOPE_IDENTITY()
		COMMIT TRANSACTION

	END
	SET @TranStarted = 0

	RETURN 0

END

Cleanup:
	IF (@TranStarted = 1 )
	BEGIN
		SET @TranStarted = 0
		ROLLBACK TRANSACTION
	END

-- Testing
-- Do an insert
-- exec Table_3_Ins_Or_Upd 'Alan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL

-- Do an update
-- exec Table_3_Ins_Or_Upd 'Alan','Warren',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1

Open in new window

Next we would need to parse our local VB/C# variables into a SQLCommand objects Parameter collection ... Then we can execute the StoredPocedure