JCWEBHOST
asked on
text files
hey guys i have a text file on my sever
path:
album-maker/payment-folder /orderID.t xt
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
please help
path:
album-maker/payment-folder
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
please help
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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
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.
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
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
Next we would need to parse our local VB/C# variables into a SQLCommand objects Parameter collection ... Then we can execute the StoredPocedure
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